尝试生成Delphi 6 [封闭]

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

年前,我写了一个Delphi 6应用程序,该应用程序使用OLE自动化来生成Excel和Word中的内容。该代码在较旧的系统上可以正常运行,但在我当前的Windows 10机器上失败了Office 2016,错误“界面不支持”

Environment:Delphi 6 Enterprise,Windows 10 Pro(版本21H2),Microsoft Office Professional Plus2016

我的完整代码太长了,无法逐字粘贴,因此我提取了一个足以证明故障场景的示例。调用

CreateOleObject

线时发生错误。
unit Unit1; interface uses Windows, ComObj, ActiveX, Variants, SysUtils, Dialogs; procedure OpenExcelAndWordWithText; implementation procedure OpenExcelAndWordWithText; var ExcelApp, Workbook, Worksheet: Variant; WordApp, Document: Variant; begin CoInitialize(nil); try try ExcelApp := CreateOleObject('Excel.Application'); ExcelApp.Visible := True; Workbook := ExcelApp.Workbooks.Add; Worksheet := Workbook.Worksheets[1]; Worksheet.Cells[1, 1] := 'Hello world'; except on E: Exception do begin ShowMessage('Excel Error: ' + E.Message); Exit; end; end; try WordApp := CreateOleObject('Word.Application'); WordApp.Visible := True; Document := WordApp.Documents.Add; Document.Content.Text := 'Hello world'; except on E: Exception do ShowMessage('Word Error: ' + E.Message); end; finally CoUninitialize; end; end; end.

我怎么可以解决这个问题?

excel delphi ms-word delphi-6
2个回答
13
投票
遵循指令

打开regedit编辑器。
    开机
  1. (Excel Pia键是
  2. HKEY_CLASSES_ROOT >> TypeLib >> {00020813-0000-0000-C000-000000000046}
    3。删除最后一个版本文件夹(Excel 2013是1.8,Excel 2016 IS 1.9)
    类似的fix可以应用于其他办公产品:

excel
HKEY_CLASSES_ROOT \ TYPELIB {00020813-0000-0000-0000-C000-0000000046} \

1.7用于办公室2010

1.8用于办公室2013

1.9用于办公室2016

  • word
  • hkey_classes_root\ typelib {00020905-0000-0000-0000-C000-000000000046} \
  • 8.5用于办公室2010
8.6用于办公室2013

8.7用于办公室2016

  • POPTORPOINT
  • HKEY_CLASSES_ROOT\ TYPELIB {91493440-5A91-11CF-8700-00AA0060263B} \
  • 2.a是为2010年办公室
2.b是办公室2013
2.c用于办公室2016

  • outlook
  • hkey_classes_root\ typelib {00062FFF-0000-0000-0000-C000-0000000046} \
  • 9.4用于办公室2010
9.5用于办公室2013
9.6用于办公室2016

there是一个示例regedit文件,用于修复Office 2016的注册表:

    {00020813-0000-0000-C000-000000000046})
  • 我们遇到了同样的问题,发现:以上解决方案仅在进行Office安装时才有效,如果您使用O365,并且单击以运行上述解决方案是行不通的。您需要在物理上安装应用程序,而不是在单击运行时运行它们。
我们的客户有同样的问题。他们正在使用DMR(数字标记读取器)应用程序。每当用户将数据导出到Excel时,都会显示“不支持接口”消息。 Excel版本是Office 2021。DMR应用程序没有错。
我们发现解决方案很简单。转到设置或右键单击“开始”按钮,查找“添加删除程序”或“应用程序和功能”或“已安装应用程序”,查找和选择Office,然后选择“修改”,选择在线维修,而不是快速维修。等到完成,然后在需要时重新插入序列号。

Source:

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

    

1
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.