我使用C#和VSTO生成了一系列行.我基本上已经加载了几行数据并给每个单元格一个NamedRange.我的问题是,我知道开始的行和结束行索引,如何遍历每个单元格并检索它的NamedRange.我试过Excel.Range range =(Excel.Range)m_worksheet.Cells [x,y]; 得到范围很好,但是当我做一个range.Name.ToString(); 我得到"System .__ COM ...."而不是名字.有人可以帮忙吗?
谢谢
下面是示例代码(从这里开始)如何在Excel中迭代命名范围.
private Excel.Workbook m_workbook;
object missing = Type.Missing;
public void testNamedRangeFind()
{
m_workbook = Globals.ThisAddIn.Application.ActiveWorkbook;
int i = m_workbook.Names.Count;
string address = "";
string sheetName = "";
if (i != 0)
{
foreach (Excel.Name name in m_workbook.Names)
{
string value = name.Value;
//Sheet and Cell e.g. =Sheet1!$A$1 or =#REF!#REF! if refers to nothing
string linkName = name.Name;
//gives the name of the link e.g. sales
if (value != "=#REF!#REF!")
{
address = name.RefersToRange.Cells.get_Address(true, true, Excel.XlReferenceStyle.xlA1, missing, missing);
sheetName = name.RefersToRange.Cells.Worksheet.Name;
}
Debug.WriteLine("" + value + ", " + linkName + " ," + address + ", " + sheetName);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12014 次 |
| 最近记录: |