尝试从 Delphi 打开 Excel 或 Word 时出现“接口不支持”错误

问题描述 投票:0回答:3

当使用一段旧的 Delphi 代码将一些文本输出到 Excel 或 Word 中时,我在一台机器上遇到了“接口不支持”错误。我该如何解决这个问题?

excel delphi ms-word
3个回答
13
投票

问题是机器上错误地卸载了以前版本的Excel。为了解决这个问题,我使用了 Microsoft 的以下说明

  1. 打开注册表编辑器。
  2. 打开
    HKEY_CLASSES_ROOT >> TypeLib >> {00020813-0000-0000-C000-000000000046}

(Excel PIA 键是

{00020813-0000-0000-C000-000000000046})
3.删除最后一个版本文件夹(Excel 2013是1.8,Excel 2016是1.9)

类似的修复可以应用于其他 Office 产品:

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

  • 1.7 适用于 Office 2010
  • 1.8 适用于 Office 2013
  • 1.9 适用于 Office 2016

Word HKEY_CLASSES_ROOT\TypeLib{00020905-0000-0000-C000-000000000046}\

  • 8.5 适用于 Office 2010
  • 8.6 适用于 Office 2013
  • 8.7 适用于 Office 2016

PowerPoint HKEY_CLASSES_ROOT\TypeLib{91493440-5A91-11CF-8700-00AA0060263B}\

  • 2.a 适用于 Office 2010
  • 2.b 适用于 Office 2013
  • 2.c 适用于 Office 2016

Outlook HKEY_CLASSES_ROOT\TypeLib{00062FFF-0000-0000-C000-000000000046}\

  • 9.4 适用于 Office 2010
  • 9.5 适用于 Office 2013
  • 9.6 适用于 Office 2016

以下是用于修复 Office 2016 注册表的示例 regedit 文件:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}\1.9]
"PrimaryInteropAssemblyName"="Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
@="Microsoft Graph 16.0 Object Library"

[HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}\1.9\0]

[HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}\1.9\0\win64]
@="C:\\Program Files\\Microsoft Office\\Office16\\EXCEL.EXE"

[HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}\1.9\FLAGS]
@="0"

[HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}\1.9\HELPDIR]
@="C:\\Program Files\\Microsoft Office\\Office16\\"

[HKEY_CLASSES_ROOT\TypeLib\{00020905-0000-0000-C000-000000000046}\8.7]
"PrimaryInteropAssemblyName"="Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
@="Microsoft Graph 16.0 Object Library"

[HKEY_CLASSES_ROOT\TypeLib\{00020905-0000-0000-C000-000000000046}\8.7\0]

[HKEY_CLASSES_ROOT\TypeLib\{00020905-0000-0000-C000-000000000046}\8.7\0\win64]
@="C:\\Program Files\\Microsoft Office\\Office16\\MSWORD.OLB"

[HKEY_CLASSES_ROOT\TypeLib\{00020905-0000-0000-C000-000000000046}\8.7\FLAGS]
@="0"

[HKEY_CLASSES_ROOT\TypeLib\{00020905-0000-0000-C000-000000000046}\8.7\HELPDIR]
@="C:\\Program Files\\Microsoft Office\\Office16\\"

1
投票

我们也遇到了同样的问题,并发现:上述解决方案仅在物理安装 Office 的情况下有效,如果您使用 O365 并且单击运行应用程序,上述解决方案将不起作用。您需要物理安装应用程序,而不是像点击运行一样运行它们。


0
投票

我们的客户也有同样的问题。他们正在使用 DMR(数字标记读取器)应用程序。每次用户将数据导出到 Excel 时,都会显示“接口不支持”消息。 Excel版本是Office 2021。DMR应用程序没有任何问题。

我们发现解决方案非常简单。转到“设置”或右键单击“开始”按钮,找到“添加删除程序”或“应用程序和功能”或“已安装的应用程序”,找到并选择 Office,然后选择修改,选择在线修复,而不是快速修复。等待完成,然后根据需要重新插入序列号。

我希望它有效。

来源: https://support.microsoft.com/en-us/office/repair-an-office-application-7821d4b6-7c1d-4205-aa0e-a6b40c5bb88b

© www.soinside.com 2019 - 2024. All rights reserved.