Есть ли заметная разница между Excel и Excel-365 в отношении интерактивности OLE? - PullRequest
0 голосов
/ 21 апреля 2020

Я использую следующий 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 в том, как OLE-интерактивность происходит из Delphi? Могу ли я использовать один и тот же идентификатор программы, идентификатор класса, Delphi объекты-оболочки как для Excel, так и для Excel-365? Или, может быть, Excel 365 имеет другой ProgID, ClassID?

...