【问题标题】:Unable to cast COM object of type 'Microsoft.Office.Interop.Excel.ApplicationClass' to interface type 'Microsoft.Office.Interop.Excel._Application'无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象转换为接口类型“Microsoft.Office.Interop.Excel._Application”
【发布时间】:2017-05-24 13:42:42
【问题描述】:

我收到一个错误:

无法转换 COM 类型的对象 'Microsoft.Office.Interop.Excel.ApplicationClass' 到接口类型 'Microsoft.Office.Interop.Excel._Application'。此操作失败 因为 COM 组件上的查询接口调用 IID '{000208D5-0000-0000-C000-000000000046}' 的接口失败 由于以下错误:加载类型库/DLL 时出错。 (例外 来自 HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY))。

当我尝试在 VB.NET 中打开 Excel 应用程序时 我尝试重新安装excel,但没有解决问题。

【问题讨论】:

标签: excel vb.net


【解决方案1】:

该错误可能表明它无法加载 DLL,但如果您尝试加载 Excel,那就是问题所在。

对于某些人来说,通过添加\删除程序进行简单的 Office 修复:修改就足以解决问题。

如果您已经尝试过 Office 修复,则可以通过编辑注册表手动修复它。

以管理员身份打开 Regedit 并转到:

Computer\HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}\

这是显示 Excel 安装位置的位置。此时,如果您看到多个版本,“1.9”、“1.8”、“1.7”,那么您需要删除额外的条目。例如 Excel 2019 是“1.9”,因此如果您要删除不再安装的较低版本。

一旦您只有一个版本,您还需要检查位数。我已经从 32 位转移到 64 位,但两个键仍然存在

Computer\HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}\1.9\0\Win32
Computer\HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}\1.9\0\Win64

我删除了Win32 键,一切又开始工作了。在这些键中,默认值显示EXCEL.EXE 的完整路径。确保路径正确。

【讨论】:

  • 谢谢! 3年前这个问题困扰着我,我放弃了。直到最近我又遇到了同样的问题(不幸的是这次我不得不解决它),你挽救了这一天。
  • 我只有 1.9 文件夹,但是我有 x32 密钥和 x64 密钥,如本答案中所述。我验证了 x32 密钥中的路径在我的系统中实际上并不存在(它不存在),然后将其删除。这解决了我的问题。注意,我之前尝试过使用修复功能来安装Office365,但还是需要手动删除这个key。待定,如果其他地方有任何问题,但到目前为止还不错。
【解决方案2】:

删除 1.9 注册表项后,我的问题解决了 开始--> 运行--> regedit--> HKEY_CLASSES_ROOT-->TypeLib-->{00020813-0000-0000-C000-000000000046}--> 1.9

【讨论】:

    【解决方案3】:

    我有同样的问题,我搜索了几天的解决方案。今天找到了,或许能帮到你(我删了1.9,离开了1.8)


    如果这不是与代码相关的错误,请从注册表中删除以下给定键。

    步骤:

    开始-->运行--> regedit--> HKEY_CLASSES_ROOT-->TypeLib-->{00020813-0000-0000-C000-000000000046}--> 1.8/1.7(删除这个)

    解决方案:此问题可以通过删除较高版本的 Office 遗留的无效注册表项来解决。按照上述步骤操作。

    原因:如果您将 Microsoft Office 版本从 Office 2010 降级到 Office 2007,或将 Office 2013 降级到 Office 2010 或 2007,则此问题是由遗留的注册表项引起的。

    如果此解决方案对您没有帮助,请告诉我


    链接

    unable to cast COM object of type 'microsoft.Office.Interop.Excel.ApplicationClass' to 'microsoft.Office.Interop.Excel.Application'"

    LINK

    【讨论】:

      【解决方案4】:

      我刚刚在客户端机器上遇到了这个错误。

      我们发现的问题是,机器上安装了多个版本的 Office,导致一些无效状态。我们曾尝试清理注册表,重新安装 Office,但没有成功。

      对我们有用的解决方案是使用 Microsoft Support and Recovery Assistant 工具运行清理以删除所有 Office 实例。

      https://support.microsoft.com/en-us/office/uninstall-office-from-a-pc-9dd49b83-264a-477a-8fcc-2fdf5dbf61d8?ui=en-us&rs=en-us&ad=us

      再次安装office后,问题就解决了。

      【讨论】:

        猜你喜欢
        • 2015-03-19
        • 1970-01-01
        • 2018-06-20
        • 1970-01-01
        • 2018-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多