Форум: "Прочее";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];
ВнизПодавление сообщений Excel Найти похожие ветки
← →
Сатир (2006-02-24 14:45) [0]Здраствуйте, Уважаемые!
Создаю объект Excel"я
FXLApp := CreateOleObject("Excel.Application");
Потом вношу какие-то изменения в этот excel
Как после закрытия этого Excel"я подавить сообщение о его сохранении?
Чтобы Workbook закрывался без вывода сообщения "Сохранить изменения?"
Заранее благодарен за помощь.
← →
DSKalugin © (2006-02-24 14:54) [1]destructor TxlsPrice.Destroy;
begin
Workbook.Saved:=True;
ExcelApp.Quit; // закрытие
inherited;
end;
← →
Bless © (2006-02-24 15:02) [2]xlApp.Application.EnableEvents := false;
?
← →
Суслик © (2006-02-24 15:03) [3]fApp := CreateOleObject("Excel.Application");
fApp.DisplayAlerts := False;
← →
Bless © (2006-02-24 15:07) [4]Суслик © (24.02.06 15:03) [3]>
Точно!
← →
umbra © (2006-02-24 15:12) [5]еще один вариант:
Workbook.Close(false);
← →
Суслик © (2006-02-24 15:20) [6]Я обычно делаю так. Создаю книгу в скрытом режиме, заполняю значениями, потом показываю.
Так создаюfApp := CreateOleObject("Excel.Application");
fApp.Visible := False;
fApp.Interactive := False;
fApp.DisplayAlerts := False;
fApp.ScreenUpdating := False;
fApp.SheetsInNewWorkbook := 1;
Так показываюfApp.Visible := True;
fApp.Interactive := True;
fApp.DisplayAlerts := True;
fApp.ScreenUpdating := True;
fApp.Application.WindowState := TOLEEnum(xlMaximized);
fApp.UserControl := True;
Обратите внимание на жирненькую строчку. Без нее испытывал переодические проблемы с тем, что книга показывается, но пользователь не может с ней ничего сделать. Про UserControl надыбал инфу на каком-то сайте, кажется "королевстве". Вроде помогло.
← →
Сатир (2006-02-24 16:11) [7]>fApp.DisplayAlerts := False;
не помогло.
поставил после создания
но всё равно вылазит такое сообщение.
---------------------------
Microsoft Excel
---------------------------
Do you want to save the changes you made to "tmp3877262841.xls"?
---------------------------
Да Нет Отмена
---------------------------
Какие ещё могут быть варианты?
← →
Суслик © (2006-02-24 16:12) [8]странно...
должно работать.
ты код приведи.
← →
umbra © (2006-02-24 16:34) [9]Workbook.Close(false); //не сохранять изменения
Workbook.Close(true); //сохранить изменения
← →
Сатир (2006-02-24 16:54) [10]Excel закрывается не программно, а путём нажатия стандартного крестика закрытия приложения.
и вот после этого выдает такое сообщения.
Workbook.Saved:=True;
вообще-то Workbooks
Workbook.Close(false);
---------------------------
Debugger Exception Notification
---------------------------
Project REFUS.exe raised exception class EOleSysError with message "Недопустимое число параметров". Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
← →
umbra © (2006-02-24 17:01) [11]если быть точным, на до писать следующее
Workbook.Close(SaveChanges:=false);
но неясно, какой смысл это делать, если ексел уже закрыт "путём нажатия стандартного крестика"
← →
Сатир (2006-02-24 17:05) [12]Вообщем, разобрался.
FXLApp.DisplayAlerts := False; нужно ставить не после создания CreateOleObject, а перед вызовом FXLApp.Qiut;
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c