赞
踩
报错:
无法将为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型
以下四个操作基本覆盖常见原因了,可以从2.1.1尝试,每尝试一种,就去试一下看问题解决了没有,如果已经解决了,其他操作就不用试了
解决办法(以win7 x64, Office 2007 例):
Win+R
打开命令行,输入regedit
打开注册表管理器,注册表位置
以64位为例:
在HKEY_CLASSES_ROOT\WOW6432Node\Interface\[00020970-0000-0000-C000-000000000046]\TypeLib
中查看信息
key:{00020905-0000-0000-C000-000000000046} ,Verison:8.4
在HKEY_CLASSES_ROOT\WOW6432Node\TypeLib
中,寻找上一步得到的key对应的值,00020905-0000-0000-C000-000000000046
,展开并查看信息
office 2007 对应 8.4,
office2010对应 8.5,
office2013对应 8.6,
office2016、2019对应 8.7
保留想要的office版本对应的目录,其他删掉。
参考:
简单来说,这个人卸载了office2013,安装了office2010,出现这个问题。
此操作失败的原因是对IID为“{00020970-0000- 0000-C000-000000000046}“的接口的COM组件调用QueryInterface因以下错误而失败:不支持此接口(异常来自HRESULT:0x80004002(E_NOINTERFACE))。
。E_NOINTERFACE
,No Interface,没有接口。。。office2010
对应的内容:HKEY_CLASSES_ROOT \ Interface [00020970-0000-0000-C000-000000000046]
参考:(转)无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型
在注册表中找到:HKEY_CLASSES_ROOT\TypeLib{00020813-0000-0000-C000-000000000046}\1.6
删除之就可以了。
office 版本 | 对应的注册号码 |
---|---|
office2003 | 1.5 |
office2007 | 1.6 |
office2010 | 1.7 |
office2013 | 1.8 |
office2016 | 1.9 |
一般来说,一个COM对象在提供的时候,通常还会提供一个类型库,在其中定义了COM对象的所有方法名称、参数名称、属性名称等等信息。
TypeLib
信息存储在注册表中:在HK_CLASSROOT\CLSID{ClassID}\
的注册表项下,有一个名为TypeLib
的子项,其中定义了这个COM对象类型库的ID;而在HK_CLASSROOT\TypeLib
注册表项下,列举了系统中所有TypeLib
。参考:
遇到一个情况:即便解决了这个无法将为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型
问题,但是程序运行依然不是理想状态。
此时考虑自己系统是不是缺少一些组件
Microsoft Visual C++ 2015-XXX Redistributable
,看自己的版本是多少,我是win10,最高是Microsoft Visual C++ 2015-2022 Redistributable
。第一步:取消对word等文件的自动关联(取消注册表关联)
高级
,取消所有兼容性勾选和文件关联勾选。如下:第二步:手动清理多余注册表
参考自怎么彻底卸载wps
win+R
运行,在打开框中输入regedit
,回车。HKEY_CURRENT_USER\Software\Kingsoft
文件夹,右键office文件夹,选择删除。在弹出的【确认要删除这个项和所有其子项吗】这个选项中点击是,删除。HKEY_LOCAL_MACHINE\SOFTWARE\kingsoft
,找到这个kingsoft文件夹下的office,右键,删除。Documents and Settings\Administrator\Application Data\Kingsoft\
。注意上述Administrator是计算机管理员的用户名,如果你的电脑管理员用户名不是Administrator(如笔者的是kentezhang),需要进入对应的文件夹。找到这个文件夹下的office6
文件夹,右键删除。Documents and Settings\All Users\Application Data\Kingsoft
,将``office6文件夹删除。[详细]
-->赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。