从2013年降级到2010年后Excel Excel中的例外情况

时间:2014-10-08 06:26:16

标签: c# excel visual-studio-2010

当我尝试从我的加载项访问Excel OM时,从Excel 2013降级到2010(即删除2013并安装2010):

if (this.Application.ActiveWorkbook == null)
{
    return;
}

我得到以下例外:

  

无法将“System .__ ComObject”类型的COM对象强制转换为接口   输入“Microsoft.Office.Interop.Excel._Application”。这个操作   失败,因为QueryInterface调用了COM组件   与IID'{000208D5-0000-0000-C000-000000000046}'的接口失败   出现以下错误:库未注册。 (例外   HRESULT:0x8002801D(TYPE_E_LIBNOTREGISTERED))。

我已采取以下步骤解决问题,但没有一项有效:

  • 修复了办公室安装
  • 已卸载并重新安装
  • 清除了注册表中的所有办公室15引用
  • 重新注册Excel(“C:\ Program Files(x86)\ Microsoft Office \ Office14 \ excel.exe”/ o)

然而,似乎没有任何效果。有什么东西我缺少或者我真的要擦拭机器吗?

编辑: 我的猜测是注册表中仍然存在冲突,但我不知道在哪里......

先谢谢!

1 个答案:

答案 0 :(得分:2)

找到解决方案 - 我忘记删除一个Excel 2013的引用:

HKEY_CLASSES_ROOT \类型库{00020813-0000-0000-C000-000000000046} \ 1.8

删除1.8后,我更正后的注册表如下所示:

enter image description here

...

enter image description here

信用:http://www.c-sharpcorner.com/Forums/Thread/203666/unable-to-cast-com-object-of-type-microsoft-office-inte.aspx