从2013年降级到2010年后,Excel API的例外情况
从Excel 2013降级到2010(即删除2013和安装2010)后,尝试从我的加载项访问Excel OM时,如下所示:
if (this.Application.ActiveWorkbook == null) { return; }
我得到以下exception:
无法将“System .__ ComObject”types的COM对象转换为接口types“Microsoft.Office.Interop.Excel._Application”。 此操作失败,因为IID为“{000208D5-0000-0000-C000-000000000046}”的接口的COM组件上的QueryInterface调用由于以下错误而失败:库未注册。 (来自HRESULT的exception:0x8002801D(TYPE_E_LIBNOTREGISTERED))。
我已经采取了以下步骤来解决这个问题,但没有任何工作:
- 修复了办公室安装
- 卸载并重新安装
- 清除registry中的所有办公室15参考
- 重新注册的Excel(“C:\ Program Files(x86)\ Microsoft Office \ Office14 \ excel.exe”/ o)
但是,似乎没有任何工作。 有什么我失踪或我真的要擦拭机器?
编辑:我的猜测是,在registry中仍然有冲突,但我不知道在哪里…
谢谢!
find解决scheme – 我忘了删除Excel 2013的一个引用:
HKEY_CLASSES_ROOT \ {types库00020813-0000-0000-C000-000000000046} \ 1.8
删除1.8
我更正的registry看起来像这样:
…
信用度: http : //www.c-sharpcorner.com/Forums/Thread/203666/unable-to-cast-com-object-of-type-microsoft-office-inte.aspx