我有一堆包含无效引用的Workbook.Names集合下的Excel.Name对象。换句话说,当我评估Excel.Name.RefersTo属性时,我得到一个以“=#REF ...”开头的值。我试图运行下面的代码,但它似乎有在去除名没有影响:如何删除Excel.Name对象?
var ranges = myWorkBook.Names;
for (int i = 1; i <= ranges.Count; i++)
{
var currentName = ranges.Item(i, Type.Missing, Type.Missing);
var refersTo = currentName.RefersTo.ToString();
if (refersTo.Contains("REF!"))
{
currentName.Delete();
}
}
任何人都可以提出什么,我做错了什么?或者我错过了一步?
刚刚测试过这个。它可以工作,但请注意,如果您为工作簿和工作表命名的范围相同,则在工作簿范围名称索引上调用delete将删除工作表范围的名称。我还没有找到一种解决方法,除了首先删除工作表范围。 – TheAtomicOption 2017-10-04 21:37:30