次の質問で回答されているように、セルに名前を付けることができることを知っています。
特定のセル/範囲に名前があるかどうかを確認し、その名前を取得するにはどうすればよいですか?
次の質問で回答されているように、セルに名前を付けることができることを知っています。
特定のセル/範囲に名前があるかどうかを確認し、その名前を取得するにはどうすればよいですか?
IsName
範囲に名前があるかどうかを判別できるプロパティがあります。しかし、それは正しく機能していないようです。sheet.Names
名前付きセルコレクション、つまりまたはbook.Names
(シートまたは本のすべての名前が含まれている)をクエリするとします。次に、指定されたセルと比較FullAddressAbsolute
して、必要な名前付きセルを取得します。
var cell = sheet.Cells["C1"]; // cell you wanna find the name
ExcelNamedRange namedCell = null;
foreach (var item in book.Names)
{
if (item.FullAddressAbsolute.Equals(cell.FullAddressAbsolute))
{
namedCell = item;
break; // if you don't wanna find all
}
}
// if (namedCell == null) --> NOT FOUND
// else
// namedCell.Name : contains the name you wanna retrieve
ループの代わりにLINQを使用することもできます。
namedCell = book.Names.Where(item => item.FullAddressAbsolute.Equals(cell.FullAddressAbsolute)).FirstOrDefault();