【发布时间】:2012-05-25 16:50:40
【问题描述】:
我正在使用 VSTO(由于客户端请求而在 Visual Studio 2008 上)在单个单元格上创建命名范围,然后将其保存到工作簿并随后在应用程序重新启动时读取。
如果我在 excel 中删除包含一个或多个命名范围的行,保存我的工作簿并重新启动 excel,仍然返回所述行中的命名范围,这就是我的问题。
为了命名单元格,我做了一个简单的 Application.Selection.Name = "whatever"。为了让它们在启动时恢复,我正在使用 Application.ActiveWorkbook.Names。
有人可以告诉我这是否是正确的行为,如果是这样,是否有任何方法可以过滤范围 - 通过 C# excel 互操作代码 - 只过滤当前可见的范围。
提前致谢。
【问题讨论】:
-
这种行为的原因是“命名范围”实际上是一个命名公式而不是命名范围:所以当您删除命名公式引用的单元格时,引用已删除单元格的命名公式被 #Ref 替换。
-
“仅过滤可见范围”是什么意思?创建一个数组?在工作表上创建 Excel 过滤器?创建一个仅引用可见单元格的多区域范围对象?还是别的什么?
标签: c# excel vsto named-ranges