oleを介してExcel2003スプレッドシートを開いて更新しようとしています。ただし、「Workbooksクラスのメソッドの追加に失敗しました」というエラーが表示され、それ以上の情報はありません。
コードは単体テストで機能し、3台のサーバーで機能しますが、Webサーバーでエラーが発生して失敗します。ローカルシステムアカウントで実行されているサービスアプリから実行されています。
同じバージョンのExcelがすべてのサーバーにインストールされています(2003sp3)。問題のファイルはすべて存在し、予想される場所にあります。
スプレッドシートにはマクロはありませんが、データベースクエリはあります。スプレッドシートはすべて開くことができます。
呼び出しコードは
if VarIsEmpty(XLApp) then
begin
XLApp := CreateOleObject('Excel.Application');
try
XLApp.DisplayAlerts:= wdAlertsNone;
except
...
end;
XLApp.AutomationSecurity:= msoAutomationSecurityForceDisable;
end;
fullFileName:= ExpandReportFileName( partialFilename);
if not FileExists(fullFileName) then
raise Exception.Create('File not found: ' + fullFileName);
XLAPP.Workbooks.Add(fullFileName); << fail here
他に何を試すことができるかについてのアイデアはありますか?