多语言展示
当前在线:1792今日阅读:168今日分享:49

C#操作word时加载DLL错误HRESULT:0x80029C4A

无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对 IID 为“{-0000-0000-C0046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 找不到 。 (异常来自 HRESULT:0x80030002 (STG_E_FILENOTFOUND))。出现原因:1.可能是安装office时安装过不同版本造成的。2.电脑上是不是曾经安装过金山的WPS办公软件,但是未卸载干净。一般来说,一个COM对象在提供的时候,通常还会提供一个类型库,在其中定义了COM对象的所有方法名称、参数名称、属性名称等等信息。我们要做的就是从类型库中取出这些信息。当然,某些只供C++程序员使用的COM对象没有类型库,而代之以C++的头文件和/或idl文件,对这种情况,一般没有办法在程序中枚举出对象的方法属性:毕竟去找C++头文件不太现实,何况在非开发环境下,根本就没有头文件的说。  在一般情况下,COM对象的TypeLib信息存储在注册表中:在HK_CLASSROOT\CLSID\{ClassID}\的注册表项下,有一个名为TypeLib的子项,其中定义了这个COM对象类型库的ID;而在HK_CLASSROOT\TypeLib 注册表项下,列举了系统中所有TypeLib。
方法/步骤
1

1.如果是不同版本造成的,在注册表中找到:HKEY_CLASSES_ROOT\TypeLib\{-0000-0000-C0046}\1.7 删除之就可以了因为我用的是office 2013对应的是1.8,所以删除1.7,office 2010对应的是1.7,所以要根据情况判断。

2

2.如果曾安装过wps并且现在已经卸载,那么请重新下载最新的wps办公套件安装。

3

3.如果以上两点办法无法解决,请重新安装office。

4

4.最后一个办法,重装系统。

推荐信息