C#操作office组件(excel、word、ppt)报错问题!

最近发现了一个奇怪的问题,C#无法调用office的组件,提示报错,相关信息如下:

Unable to cast COM object of type 'Microsoft.Office.Interop.PowerPoint.ApplicationClass' to interface type 'Microsoft.Office.Interop.PowerPoint._Application'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{91493442-5A91-11CF-8700-00AA0060263B}' failed due to the following error: 加载类型库/DLL 时出错。 (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).

An exception occurred during the operation, making the result invalid.  Check InnerException for exception details.

很是头疼,明明已经安装了所有office2007的组件了啊!后来通过查找资料终于解决了,以此做个笔记!

原文地址:http://www.cnblogs.com/tianshuilv/p/3529670.html?utm_source=tuicool

其实说到底这个问题就是由于WPS恶意更改了office的Com组件注册权限,使得office的com组件不能注册,所以WPS和office还是不要一起用了,据我个人猜测产生这个问题的原因可能是:客户刚开始安装了WPS早期版本,而我们的售后服务人员给客户安装软件的时候安装了office2010,这个时候是没有问题的,但是长时间后客户进行了WPS的升级升级到了最新版,WPS最新版让office的com组件注册失效,所以出现了无法加载DLL的错误,而这次我重装office并没有使office成功注册,即使卸载了WPS还是没能成功注册COM组件,因为注册表里可能还残留WPS的信息,所以导致注册表中的关于调用Excel的注册信息混乱,
因此当我 重装WPS之后WPS的注册信息又重新写入注册表并且替换了office的映射关系,所以问题才得以解决


其他相关资料:

http://www.tuicool.com/articles/ym2uYz

http://bbs.csdn.net/topics/390622891

http://social.technet.microsoft.com/wiki/contents/articles/18919.c-ppt-to-pdf-unable-to-cast-com-object-of-type-microsoft-office-interop-powerpoint-applicationclass-to-interface-type-microsoft-office-interop-powerpoint-application.aspx

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值