Закрыть Excel-процесс при закрытии SaveDialog

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Закрыть Excel-процесс при закрытии SaveDialog

Сообщение Сережа » 02.12.2015 20:26:42

К примеру, есть кнопка "сохранить отчет", нажимаю - отчет генерируется в xls, но он скрыт от глаз, запускается SaveDialog с предложением выбрать место куда стоит сохранить отчет, вдруг я понимаю, что не хочу ничего сохранять и нажимаю "отмена" в SaveDialog, при этом сгенерированный отчет должен закрыться безо всяких вопросов о сохранении и убить процесс Excel.exe. С отображением вопросов вроде решил, а вот процесс не убивается. Где-то накосячил... :cry:
Код: Выделить всё
procedure TOtchetForm1.Button2Click(Sender: TObject);
begin
  OtchetForm1.GoOtchet(false);
    if SaveDialog1.Execute then begin
         XLApp.ActiveWorkBook.SaveAs(WideString(SaveDialog1.FileName));
    end
    else begin
    SaveDialog1.Free;
     XLApp.ActiveWorkbook.Close(SaveChanges := false);
    end;
     XLApp.Quit;
end;
Сережа
новенький
 
Сообщения: 33
Зарегистрирован: 02.07.2015 00:24:15
Откуда: Воронеж

Re: Закрыть Excel-процесс при закрытии SaveDialog

Сообщение Ism » 03.12.2015 00:19:25

Получайте pid процесса и грохайте командой, в зависимости от оси
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Закрыть Excel-процесс при закрытии SaveDialog

Сообщение скалогрыз » 03.12.2015 00:26:39

так?
Код: Выделить всё
procedure TOtchetForm1.Button2Click(Sender: TObject);
begin
  OtchetForm1.GoOtchet(false);
  if SaveDialog1.Execute then begin
    XLApp.ActiveWorkBook.SaveAs(WideString(SaveDialog1.FileName));
  end else begin
    SaveDialog1.Free;
    XLApp.ActiveWorkbook.Close(SaveChanges := false);
  end;
  XLApp.DisplayAlerts := false;
  XLApp.Quit;
end;
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Закрыть Excel-процесс при закрытии SaveDialog

Сообщение Сережа » 03.12.2015 09:58:46

скалогрыз писал(а):так?

Так я уже пробовал, не закрывается
Сережа
новенький
 
Сообщения: 33
Зарегистрирован: 02.07.2015 00:24:15
Откуда: Воронеж

Re: Закрыть Excel-процесс при закрытии SaveDialog

Сообщение Лекс Айрин » 03.12.2015 10:45:42

Ism хорошая идея... запустил прогу, а она грохает у тебя открытую программу электронных таблиц. При том, что excel у человека может быть вообще не установлен.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Закрыть Excel-процесс при закрытии SaveDialog

Сообщение Сережа » 03.12.2015 19:39:29

есть еще варианты? :|
Сережа
новенький
 
Сообщения: 33
Зарегистрирован: 02.07.2015 00:24:15
Откуда: Воронеж

Re: Закрыть Excel-процесс при закрытии SaveDialog

Сообщение Снег Север » 04.12.2015 08:52:44

Правильнее всего было бы правильно поставить задачу. Например, сначала сохранять файл, а только затем открывать в Excel, если сохранение подтверждено. И все проблемы уходят немедленно...
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3053
Зарегистрирован: 27.11.2007 16:14:47


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 255

Рейтинг@Mail.ru
cron