WPS的bug导致PowerShell调用Excel的Com对象失败 2


原文作者:焖哥(QQ 1328486072)
感谢焖哥的整理和总结。

故障现象

在PowerShell中运行下列命令:

$Excel=New-Object -ComObject Excel.Application
$Excel.Visible=$false

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

最终导致无法让PowerShell调用excel的com组件。

Bug重现步骤

  1. 安装了2013-10-17msdn版的win8.1企业版。
  2. 安装了wps office 个人版,卸载后,
  3. 安装ms office 2010,问题出现。
  4. 再次安装wps office 个人版,问题消失。
  5. 再次卸载wps office 个人版后,问题重新出现。

结论

WPS office太霸道,装上就不能卸,卸了后即使再装好ms office 2010,PowerShell调用Excel也不灵。

故障原因

安装了WPS office 个人版,卸载后,【卸载文件卸载不干净】,或者【没有把相关注册表内容,恢复成装机后初始状态】导致。

http://wdl.cache.ijinshan.com/wps/download/special/WPS2013.12012.exe
版本号:9.1.0.4249
大小:43.5M
更新日期:2013.8.15

已经给官方论坛发送bug报告,也不知道啥时候能解决.

本文链接: https://www.pstips.net/wps-bug-cause-ps-to-call-excel-failed.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

回复 下一跳 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

2 条评论 “WPS的bug导致PowerShell调用Excel的Com对象失败