【发布时间】:2020-05-29 20:14:26
【问题描述】:
我遇到了一个问题,我无法访问某个范围的 Name 对象。所以,我正在调用 Excel.Application.get_Range() 并传入一个名称。它返回一个非空对象,我可以访问方法。但是,Range.Name 返回一个 System.__ComObject()。如果我尝试访问 Range.Name.Name 我会收到类似于以下内容的异常
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: ''System.__ComObject' does not contain a definition for "Name"
另外,这个项目是我从 .net Framework 迁移到 .net Core 的项目。完全相同的代码在框架中工作。我尝试了各种方法来尝试确定底层类型是什么(因为它似乎不是 Name 对象)。 ITypeInfo 返回 typename 是 Name 所以它看起来确实是一个名称对象。
我不知道为什么我无法在 .net 核心中访问 Name.Name。当我检查 .net Core Excel 示例时,他们从不访问名称对象。
此外,我还可以访问其他 COM 对象,例如 ListObject。
【问题讨论】: