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

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

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

Ответить
Сережа
новенький
Сообщения: 33
Зарегистрирован: 01.07.2015 23:24:15
Откуда: Воронеж

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

Сообщение Сережа »

К примеру, есть кнопка "сохранить отчет", нажимаю - отчет генерируется в 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;
Ism
энтузиаст
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Сообщение Ism »

Получайте pid процесса и грохайте командой, в зависимости от оси
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

так?

Код: Выделить всё

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;
Сережа
новенький
Сообщения: 33
Зарегистрирован: 01.07.2015 23:24:15
Откуда: Воронеж

Сообщение Сережа »

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

Так я уже пробовал, не закрывается
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Ism хорошая идея... запустил прогу, а она грохает у тебя открытую программу электронных таблиц. При том, что excel у человека может быть вообще не установлен.
Сережа
новенький
Сообщения: 33
Зарегистрирован: 01.07.2015 23:24:15
Откуда: Воронеж

Сообщение Сережа »

есть еще варианты? :|
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3071
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Правильнее всего было бы правильно поставить задачу. Например, сначала сохранять файл, а только затем открывать в Excel, если сохранение подтверждено. И все проблемы уходят немедленно...
Ответить