-
Привет мастерам!
Как правильно закрыт документ Excel?
Имею такой код(урезан)
exl:=CreateOleObject('Excel.Application');
Workbook:=exl.Application.WorkBooks.Add(ExtractFilePath(Application.ExeName)+'Hisobot.xls');
Sheet:=WorkBook.WorkSheets[i];
Sheet.Cells(5+n,2):=qrMonitoring.fieldbyname('name').AsString;
Sheet.Cells(5+n,3):=qrMonitoring.fieldbyname('client_acc').AsVariant;
Sheet.Cells(5+n,4):=qrMonitoring.fieldbyname('remainder').AsVariant;
exl.Application.Visible:=True;
пишу и открываю
и показываю но после закрытия еxcel.exe остаётся в памяти.
если сделаю
exl.Application.Quit;
то спрашывает о сохранение.
Как правильно поступать?
-
> то спрашывает о сохранение
DisplayAlerts := false; ?
-
Сделал но он сразу закрыл Excel не успел поработат.
Мне нужно чтобы я сам закрывал и чтобы не оставался в памяти.
-
> он сразу закрыл Excel
кто "он"?
-
после долгих работ я уже начел с ним обшатся :) то есть со своей прогой. Он для меня стал родным.
Если без щуток.
Программа открывает еxcelовский документ и я работаю с документом. после его закрытя, в памяти все равно остается, даже если я закрываю свою программу. (извеняюсь за ощибки для меня русский не родной)
-
после долгих работ я уже начел с ним обшатся :) то есть со своей прогой. Он для меня стал родным.
Если без щуток.
Программа открывает еxcelовский документ и я работаю с документом. после его закрытя, в памяти все равно остается, даже если я закрываю свою программу. (извеняюсь за ощибки для меня русский не родной)
-
попробуй еще Workbook.Saved := true; перед Quit
-
Я сделал так
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var exl:OleVariant;
WorkBook, Sheet : Variant;
begin
exl:=CreateOleObject('Excel.Application');
if not VarIsEmpty(exl) then
begin
exl.Quit;
exl:=Unassigned;
end;
end;
Это правильно?