Форум: "Начинающим";
Текущий архив: 2012.06.03;
Скачать: [xml.tar.bz2];
ВнизExcelApplication1WorkbookBeforeClose не получается закрыт Excel Найти похожие ветки
← →
Xmen (2012-01-25 11:16) [0]У меня есть прога которая открывает сжаты файл из базы и разархивирует и отображает Excel файл на экране и на обработчика закрытия файла я прописал этот код.
procedure TAnalizForm.ExcelApplication1WorkbookBeforeClose(ASender: TObject; const Wb: _Workbook; var Cancel: WordBool);
begin
if MessageBox(0,"Закрывается Excel Сохранить данные в базе?","Сохранение в базе", MB_OKCANCEL or MB_TOPMOST)=IDOK then
begin
path:= ExtractFilePath(Application.ExeName);
//Wb.Close(False,EmptyParam,EmptyParam,1);
ExcelWorksheet1.Disconnect;
ExcelApplication1.Quit;
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
ExcelApplication1.Free;
ExecAndWait(path+"rar.exe"," a -r -ep1 -df aa.rar temp\*",SW_HIDE);
DM.dtsDog.Edit;
TBlobField(DM.dtsDog.FieldByName("prodoc")).LoadFromFile(path+"aa.rar");
DM.dtsDog.Post;
DM.TR.CommitRetaining;
DeleteFile(fName);
end
else
begin
ExcelWorksheet1.Disconnect;
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
ExcelApplication1.Free;
end;
end;
Excel в процессе работы не закрывается и висит.
Как нежно правильно закрыть Excel. Если не закрыть то архивирование не правильно получается.
← →
brother © (2012-01-25 11:41) [1]это не смущает?
TAnalizForm.ExcelApplication1WorkbookBeforeClose
← →
brother © (2012-01-25 11:46) [2]ну и это зачем?
> ExcelApplication1.Quit;
> ExcelApplication1.Quit;
> ExcelApplication1.Disconnect;
> ExcelApplication1.Free;
> ExcelApplication1.Quit;
> ExcelApplication1.Disconnect;
> ExcelApplication1.Free;
← →
Xmen (2012-01-25 13:02) [3]То есть я сделал ошибку
> ExcelApplication1.Quit;
> ExcelApplication1.Quit;
> ExcelApplication1.Disconnect;
> ExcelApplication1.Free;
поместив его в внутр WorkbookBeforeClose
← →
brother © (2012-01-25 14:46) [4]ты не понял, событие у тебя BeforeClose - перед закрытием... а ты уже начинаешь архивировать, остальное - под чутким контролем доктора)
← →
Xmen (2012-01-26 07:56) [5]как тогда можно уловить закрытие Excel, чтобы потом архивировать документы и почистить его папки?
← →
Xmen (2012-01-27 09:19) [6]как определить что ExcelApplication1 закрывается?
мне нужно почистит временный каталог после закрытия ексел документа.
procedure TForm.ExcelWorkbook1Deactivate(Sender: TObject);
begin
DeleteFile(fName);
RemoveDir("temp\");
end;
← →
дикий (2012-01-27 10:02) [7]Я на пямять не помню чего там есть, но, кэп говорит что:
после закрытия = after closing
а
before close = перед закрыть
← →
Xmen (2012-01-27 10:19) [8]да но в ExcelApplication1 нет события after closing и before close.
← →
дикий (2012-01-27 11:01) [9]больно слышать.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.06.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c