无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型

.net中使用Microsoft.Office.Interop.Word时抛异常: 无法将为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对 IID 为“{00020970-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 加载类型库/DLL 时出错。 (异常来自 HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY))。

原因之一是:引用office的DLL版本在注册表中信息有误。 我出现以上情况解决方式如下(win7 ,0ffice2013): 打开注册表(开始——>命令:regedit), 1.在HKEY_CLASSES_ROOT Interface[00020970-0000-0000-C000-000000000046]TypeLib 中查看信息:key:{00020905-0000-0000-C000-000000000046} ,Verison:8.6

2.用key在HKEY_CLASSES_ROOT WOW6432Node TypeLib0020905-0000-0000-C000-000000000046查看信息: 可以看出有8.6和8.7,删除8.7即可。

原文地址:https://www.cnblogs.com/Anthony518/p/11570345.html