Excelが終了されない

解決


ソロ  2002-10-16 02:03:51  No: 1704

いつもお世話になっております。
ソロです。

以下のソースなのですが、
DelphiからExcelを呼んで書き込みをしています。
ところが、エクセルが終了されず、延々と残っているのです。

コメントに書いてあるソースで DisConnect や Unassigned をしようとしても
”オブジェクトでサポートされていないメソッドです”みたいなエラーが。。
usesにちゃんと”ComObj”も書いてます。
どこがおかしいのでしょうか。

//ブック名
BookName  := 'test.xls';
//シート名
BookName  := 'sheet1';

//Excelオブジェクト作成
ExcelApplication1 := CreateOleObject('Excel.Application');
//Excelブックを開く
ExcelApplication1.Visible := False;
ExcelApplication1.WorkBooks.Open(''+BookName+'');
ExcelWorkBook1 := ExcelApplication1.activeworkbook;
//シートを指定
ExcelSheet1 := ExcelApplication1.Worksheets.item[''+SheetName+''];
ExcelSheet1.activate;
    
    
    {処理をいろいろと}
    
    
ExcelApplication1.DisplayAlerts := False;

//保存
ExcelWorkBook1.SaveAs(''+BookName+'');

//セーブしないで終了
ExcelApplication1.ActiveWorkbook.Close(''+BookName+'');
ExcelApplication1.Quit;
//ExcelApplication1.Disconnect;    
//ExcelApplication1:=Unassigned;


Lupin3rd  2002-10-16 02:08:25  No: 1705

以下エクセルの終了
E_ExcelApplication1 .DisplayAlerts := False;//メッセージダイアログの表示[OFF]
E_ExcelApplication1 .Quit;
E_ExcelApplication1 := unAssigned;

のようにやってみてはどうでしょうか?


Lujpin3rd  2002-10-16 02:13:14  No: 1706

書き忘れましたが、実行環境はWindows2000のExcel2000です。
上記の実行環境では実際に終了できました。


ソロ  2002-10-16 02:24:04  No: 1707

おっと、こんなに早く返信いただけるとは!

E_ExcelApplication1 := unAssigned;
はコメントにしてますが、やってみました。

しかし、”未定義の識別子〜〜”と怒られてしまうのです  (^^;)


Lupin3rd  2002-10-16 02:25:23  No: 1708

なにが"未定義の識別子"となっているのでしょうか?


ソロ  2002-10-16 02:27:44  No: 1709

”unAssigned”です。

遅れましたが、私の実行環境はWin2000 + Excel97です。
ただ、お客さんの環境はWin98 + Excel97です。(T_T)


Lupin3rd  2002-10-16 02:29:01  No: 1710

VariantsはUses節に追加していますでしょうか?
UnassignedはVariantsで定義されているはずなので。


ソロ  2002-10-16 02:35:08  No: 1711

できましたー!

ありがとうございました。
またユニットの追加を忘れてました。

前にもhatenaさんに指摘されたのに。。

分からない用語等でてきたらその都度
ヘルプをくまなくチェックするようにします。
<(_ _)>


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








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