TExcelApplicationでDisplayAlertsを制御するには?


なお  2007-08-02 19:08:59  No: 27292

TOleContainerにExcelを貼り付けて表示

ExcelApplication1.ConnectTo(IDisPatch(OleContainer1.OleObject.Application) as _Application);
ExcelWorkBook1.ConnectTo(OleContainer.OleObjectInterface as _Workbook);
ExcelWorkSheet.ConnectTo(ExcelWorkBook.Worksheets[1] as _WorkSheet);

として、制御しようとしています。

表示の更新を抑えたり、警告を表示しないようにするために
以下のようにしましたが、ちらつきが残っていたり、
エラーが出たりします。

ExcelApplication1.ScreenUpdating[LCID] := False;
ExcelApplication1.DisplayAlerts[LCID] := False;    ←ここはエラーになる。
「Interfaceはサポートされていません。」

ExcelApplication1.Workbooks.Open('C:\Test.xls',
                                 EmptyParam, EmptyParam, EmptyParam,
                                 EmptyParam, EmptyParam, EmptyParam,
                                 EmptyParam, EmptyParam, EmptyParam,
                                 EmptyParam, EmptyParam, EmptyParam, LCID);

ExcelWorkBook1.ConnectTo(ExcelApplication1.ActiveWorkbook  as _WorkBook);
ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.WorkSheets[1] as _WorkSheet);

とした場合は、
ExcelApplication1.ScreenUpdating[LCID] := False;
ExcelApplication1.DisplayAlerts[LCID] := False;
が効いているような感じです。
ちらつきもなく、エラーも出ません。

何が違うのでしょうか???

環境は、
WindowsXP+Delphi5+Excel2000です。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加