【发布时间】:2012-03-18 11:11:10
【问题描述】:
要获得单元格的命名范围,这是我的代码。如果单击的单元格在第一张纸上,则可以正常工作。但是当我从其他工作表中选择一个单元格时,它只会抛出 Exception from HRESULT: 0x800A03EC Error
在堆栈上看到了类似的问题,但从这些帖子中得出了结论: 这是我的代码:
Microsoft.Office.Interop.Excel.Workbook _workbook = ThisAddIn.Application.ActiveWorkbook;
Microsoft.Office.Interop.Excel.Range Target = (Microsoft.Office.Interop.Excel.Range)Globals.ThisAddIn.Application.ActiveCell;
foreach (Microsoft.Office.Interop.Excel.Name name in _workbook.Names)
{
Microsoft.Office.Interop.Excel.Range intersectRange = _workbook.Application.Intersect(Target, name.RefersToRange);
if (intersectRange != null)
{
rangeName = name.Name;
break;
}
}
【问题讨论】:
-
在哪一行抛出异常?
-
我很好奇。
InteropReference是干什么用的?在我的经验中,我不记得曾经需要(或看到)它。 -
那是一个自定义对象。我已经更新了代码以忽略那件事。