Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

правильное закрытие документа Excel [D7, WinXP]


Xmen ©   (2008-03-13 14:45:00) 

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

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


Xmen   (2008-03-13 16:00:00) [1]

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

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


clickmaker   (2008-03-13 15:58:00) [2]

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


Xmen   (2008-03-13 15:55:00) [3]

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


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

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


clickmaker   (2008-03-13 15:01:00) [5]


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

кто "он"?


Xmen   (2008-03-13 14:57:00) [6]

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


clickmaker   (2008-03-13 14:52:00) [7]


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

DisplayAlerts := false; ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо