【发布时间】:2023-03-12 07:26:01
【问题描述】:
当单元格被隐藏时,我在使用 Excel Interop 从 C# 访问 Excel 中的命名单元格时遇到问题,我像这样访问它:
bool SomeBoolean = WorkSheet.Range["MyRangeName"].Value;
当我访问 Range 属性时,它会隐式调用 get_range,这就是根据堆栈跟踪引发异常的原因。之前直接调用get_range的代码,结果也差不多。
如果我取消隐藏单元格,它可以正常工作。如果我逐行执行代码,它可以正常工作(这总是令人沮丧的情况)。
当然我可以通过取消隐藏单元格来解决这个问题,但我想尝试找到一个更优雅的解决方案。我已经仔细研究了 MSDN 文档和 SO 上的几个线程,但我似乎找不到任何东西。任何帮助将不胜感激!
Worksheet.Range 的 MSDN 页面:https://msdn.microsoft.com/en-us/library/office/ff836512.aspx
【问题讨论】:
-
我不能重复这个问题。我知道我过去曾访问过隐藏范围——Interop(或 VBA)似乎从不在乎。恰恰相反,我必须竭尽全力避免隐藏范围。我将此作为测试运行,但我真的无法让它抛出该错误。您可以将电子表格(或其相关部分)上传到 DropBox 或类似的东西吗?我非常好奇。
标签: c# .net excel excel-interop