使用 VS2010 和 Excel 2010 访问 FormatCondition 时出现异常
当我尝试从 FormatConditions 集合访问 FormatCondition 项时,出现以下异常。
无法将类型“System.__ComObject”的 COM 对象转换为接口类型“Microsoft.Office.Interop.Excel.FormatCondition”。此操作失败,因为对 IID 为“{00024425-0000-0000-C000-000000000046}”的接口的 COM 组件上的 QueryInterface 调用因以下错误而失败:不支持此类接口(HRESULT 异常:0x80004002 (E_NOINTERFACE)) .
我正在使用 VS2010 SP1、C#、Excel 2010 32 位
到目前为止,我创建了一个 Excel 电子表格,并向单元格 B3 添加了条件格式。
在代码 I 中:
- 打开电子表格。
- get cell b3
- 验证 FormatConditions.Count 返回 1。
当我尝试以下操作时,我收到上述异常:
fmtCond = (Excel.FormatCondition) testCell.FormatConditions.Item(1);
在另一台 PC 上使用 VS2005 和 Excel 2007 构建时,我使用的代码似乎工作正常。
I get the following exception when I try to access a FormatCondition item from a FormatConditions collection.
Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.Excel.FormatCondition'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00024425-0000-0000-C000-000000000046}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
I'm using VS2010 SP1, C#, Excel 2010 32 bit
So far I created an excel spreadsheet and added Conditional Formatting to cell B3.
In code I:
- open the spreadsheet.
- get cell b3
- verify that FormatConditions.Count returns 1.
I get the above exception when I try the following:
fmtCond = (Excel.FormatCondition) testCell.FormatConditions.Item(1);
The code I'm using seems to work fine when build w/VS2005 and Excel 2007 on another PC.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我发现,当您单独设置属性时,它可以工作,而不是尝试将所有格式条件放在一起:
其中
DestRange
和SourceRange
是您要传输的区域属性分别为 和原始范围。如果您已指定,您可能需要获取FormatConditions
的其他属性。Rather than trying to grab all of the format conditions together, I've found it works when you set the properties individually:
where
DestRange
andSourceRange
are the region you are transferring the properties to, and the original range, respectively. You may need to grab additional properties of theFormatConditions
if you have specified them.