OLEにてExcelを起動し、セルに値を代入してる時に
例外エラーが発生した場合、起動したExcelを終了したいのですが、
タスクマネージャーのプロセスにEXCEL.EXEが残ったままになってしまい
ます。どうにかこのEXCEL.EXEを終了させることはできないでしょうか?
EXCEL.EXEが残ったままだと他のEXCELが起動しませんので、非常に困って
います。
環境
Delphi7
Xp
Excel2002
procedure TForm1.Button1Click(Sender: TObject);
var Excel,WorkBook,WorkSheet :Variant;
begin
try
Excel := CreateOleObject('Excel.Application');
WorkBook := Excel.Workbooks.Add;
WorkSheet := WorkBook.WorkSheets[1];
Excel.Visible:=False;
WorkSheet.Range['A1']:='あああああ';
WorkSheet.Range['B1']:='いいいいい';
Excel.Visible:=True;
except
Showmessage('エラー');
if not VarIsEmpty(Excel) then begin
WorkBook :=unAssigned;
WorkSheet :=unAssigned;
Excel :=unAssigned;
Excel.Quit;
end;
end;
end;
これだと例外が発生しないと終わりません。
ツイート | ![]() |