您的位置:首页 > 编程语言 > C#

C# Word导出部分问题解决方法

2018-03-09 21:53 204 查看
以下问题在网上可以找到多种解决方式
我会把自己的实际操作写出来供大家参考
另外尽量列举一些其他人的解决方案出来
希望可以帮到大家
1.无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对 IID 为“{00020970-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败:库没有注册。(异常来自HRESULT:0x8002801D (TYPE_E_LIBNOTREGISTERED)
这个问题应该是计算机的Office安装过不同版本的问题。
可能是之前装过一个版本,之后卸载了装了新版本,所以注册表没有清理干净。
所以我去网上找了一些各个版本的卸载工具,先把装过的版本残留的东西给清理干净。之后重新安装了office(2003)。然后去注册表检查一下是不是还有其他版本的项残留,如果有就删掉它们。
安装完成后,这个问题就解决了。
2.无法将类型为“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))
这个问题是之前装过WPS,然后卸载的时候有残留,和Microsoft Office有冲突(个人理解)。
个人的解决方法是重新下载了一个比较新的WPS,重新安装后,发现问题神奇的解决了。出人意料,我也想不通是为什么。
网友提供的解决方案:

1.http://bbs.csdn.net/topics/390411260(解决方案来自11楼)
机器上TypeLib下无对应项,但是有下面项
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020970-0000-0000-C000-000000000046}\TypeLib 
default键值指向{00020905-0000-4B30-A977-D214852036FF},这是wps的组件。
貌似应改为{00020905-0000-0000-C000-000000000046},office的word组件。
同样,3.0也改为8.3。
2.http://bbs.csdn.net/topics/390411260(解决方案来自12楼)
最终,在我绝望的时候,想着试试再重装一次wps卸载试试吧,结果还真管用。我用的wps自带的卸载程序,卸载的时候我注意到有一个“保留配置信息方便下次是使用”我直接把这个勾给去掉了,卸载成功,然后立马调试程序,再也不报错了,我头一下子不疼了。

总结:直接重新安装wps,然后用自带的卸载程序卸载就OK
(我就是看到这里才试着重装WPS,然后问题就解决了)

3.http://www.cnblogs.com/yczz/archive/2012/07/23/2605326.html
打开注册表编辑器
打开路径HKEY_CLASSES_ROOT\TypeLib\00020970-0000-0000-C000-000000000046\他的子项可能是8.x 或者9.x,反正是不止一个,这个是对于的word版本号,比如2003,2007删除掉一个不存在的或已经卸载的,就可以了!别删错了哦最后,如果是在不行,就重装系统吧。当年我也试过,在无可奈何之下,只有重装系统这个办法了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: