Вниз
Скачать: CL | DM;

правильное закрытие документа Excel   Найти похожие ветки 

← →
Xmen   (2008-03-13 14:45) [0]

Привет мастерам!
Как правильно закрыт документ 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;

то спрашывает о сохранение.
Как правильно поступать?


← →
clickmaker ©   (2008-03-13 14:52) [1]


> то спрашывает о сохранение

DisplayAlerts := false; ?


← →
Xmen   (2008-03-13 14:57) [2]

Сделал но он сразу закрыл Excel не успел поработат.
Мне нужно чтобы я сам закрывал и чтобы не оставался в памяти.


← →
clickmaker ©   (2008-03-13 15:01) [3]


> он сразу закрыл Excel

кто "он"?


← →
Xmen   (2008-03-13 15:53) [4]

после долгих работ я уже начел с ним обшатся :) то есть со своей прогой. Он для меня стал родным.
Если без щуток.
Программа открывает еxcelовский документ и я  работаю с документом. после его закрытя, в памяти все равно остается, даже если я закрываю свою программу. (извеняюсь за ощибки для меня русский не родной)


← →
Xmen   (2008-03-13 15:55) [5]

после долгих работ я уже начел с ним обшатся :) то есть со своей прогой. Он для меня стал родным.
Если без щуток.
Программа открывает еxcelовский документ и я  работаю с документом. после его закрытя, в памяти все равно остается, даже если я закрываю свою программу. (извеняюсь за ощибки для меня русский не родной)


← →
clickmaker ©   (2008-03-13 15:58) [6]

попробуй еще Workbook.Saved := true; перед Quit


← →
Xmen   (2008-03-13 16:00) [7]

Я сделал так
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;

Это правильно?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
15-1226421022
cosinus
2008-11-11 19:30
2009.01.11
Подскажите, как лучше поступить...


15-1226831942
b1tard
2008-11-16 13:39
2009.01.11
Симплекс-метод


1-1205442921
Relaxxxx
2008-03-14 00:15
2009.01.11
Никак не могу в толк как работать с эти TcxVirtualVerticalGrid, с


15-1226030309
Руслан
2008-11-07 06:58
2009.01.11
шлюз своими руками


15-1226584238
Riply
2008-11-13 16:50
2009.01.11
ТВ каналы на компьютере.




   Наверх