关键字:SAP BPC EPM OFFICE WPS
今天又解决了一个诡异的问题,记录一下,以备将来能够用上。
目录
问题现象
网上的方法
启发和解决
结论
问题现象
财务SAP系统需要BPC模块做报表,安装了Office+EPM Add-In以后,结果发现始终无法正常加载EPM Add-In,错误信息主要是有以下两种:
无法将类型为“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))
或者
System.InvalidCastException: 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”。此操作失败的原因是对 IID 为“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 库没有注册。 (异常来自 HRESULT:0x8002801D (TYPE_E_LIBNOTREGISTERED))。
网上的方法
网上基本的解决方法有几种:
1、卸载所有的Office版本,然后重新安装Office;
2、修改注册表,注册类库;
3、重装系统;
三种方法都不能解决问题,尤其是第三种,重装系统会带来更多的问题。
启发和解决
参考了这篇文章,虽然不是完全一样的错误,但是这个思路值得一试。
首先安装了最新版的WPS,发现还是不行。
然后发现WPS修改了EXCEL的默认打开程序,于是手工再把EXCEL默认的打开程序修改回来
最后成功解决报错!!!
无法将类型为“Excel.ApplicationClass”的 COM 对象强制转换为接口类 型“Excel._Application”
结论
经过这个问题的解决,更加坚信只要用心和坚持,任何问题都是可以解决的。用排除的方法,逐个缩小问题的范围。