Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
3-1276157864
O.O
2010-06-10 12:17
2012.06.03
Записать 0 в поле


15-1328272996
Тимохов Д
2012-02-03 16:43
2012.06.03
Проблема со шрифтами


15-1328346033
Smile
2012-02-04 13:00
2012.06.03
Субботняя задачка :)


2-1327946153
Rorschach
2012-01-30 21:55
2012.06.03
Портирование С++ кода на Паскаль


1-1294237263
AlexT
2011-01-05 17:21
2012.06.03
Какой контейнер организовать?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский