Вниз
Скачать: 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
2-1227704235
ekto
2008-11-26 15:57
2009.01.11
не работают сплиттеры


2-1227969919
snake-as
2008-11-29 17:45
2009.01.11
Поиск в поткаталогах


15-1226665932
Dmitry S
2008-11-14 15:32
2009.01.11
Книга по Flash ActiveScript 3.0


15-1226374405
Slider007
2008-11-11 06:33
2009.01.11
С днем рождения ! 11 ноября 2008 вторник


2-1227784613
9899100
2008-11-27 14:16
2009.01.11
деструктор




   Наверх