0

我正在使用以下 Delphi OLE 代码连接到 Excel 应用程序:

var
  ClassID: TCLSID;
  Unknown: IUnknown;
begin
  ClassID := ProgIDToClassID('Excel.Application');
  OleCheck(GetActiveObject(ClassID, nil, Unknown));
  OleCheck(Unknown.QueryInterface(IDispatch, Result));
end;

此代码适用于许多 Excel 安装,但现在它针对 Excel-365 运行并提供Operation unavailable消息。我还没有重新创建测试环境来调试此代码,但是,一般来说 - Excel 和 Excel-365 之间关于 Delphi 如何发生 OLE 交互性有什么区别吗?我可以对 Excel 和 Excel-365 使用相同的程序 ID、类 ID、Delphi 包装器对象吗?或者 Excel 365 有不同的 ProgID、ClassID?

4

0 回答 0