无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型相关的知识,希望对你有一定的参考价值。

无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel.Application”。 我已经添加了EXCEL引用

Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();这里报错
到底是什么问题,求大神知道啊

参考技术A http://blog.csdn.net/dkman803/article/details/1667656追问

我已经将EXCEL.EXE文件放到目录下
执行命令: tlbimp excel.exe /out:excel.dll
生成封装好的excel.dll。然后就可对excel.dll进行引用。
但是我一打开TLBIMP文件就自动关掉了

参考技术B 表示 COM 组件的类型实例不能强制转换为不表示 COM 组件的类型;不过,只要基础 COM 组件支持对接口 IID 的 QueryInterface 调用,就能将这些实例强制转换为接口。 参考技术C Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();

关于System.__ComObject一些问题

我只知道System.__ComObject是引用类型,而且是自定义类类型。

以前,我不会去纠结里面到底是什么,但是现在我想要知道怎么获取引用对象中的实际类型。

举个例子如何得到System.__ComObject类型:

例如从mapControl中取出一个Layer,当只有1个时候会直接显示类型和内容,而其中有多个时候就成了System.__ComObject

还例如获取表格,最常见这种类型。

http://blog.51cto.com/cownew/86662

https://blog.csdn.net/sukhoeing/article/details/1967139

对于AE来说是没有用的。希望以后能找到方法。

以上是关于无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型的主要内容,如果未能解决你的问题,请参考以下文章

VS2015:无法将“System.__ComObject”类型的 COM 对象转换为接口类型“IFabricTestManagementClient4”[重复]

求sql中解决连接错误 无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类 型

无法将类型为“System .__ ComObject”的COM对象强制转换为类类型AgentInfo

C#无法将类型为"System.__ComObject"的 COM 对象强制转换为接口类

SQL SERVER2005遇到的问题:无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型

关于System.__ComObject一些问题