Вниз
Скачать: CL | DM;

Подавление сообщений 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.026 c
2-1141485688
nsk3d
2006-03-04 18:21
2006.03.19
загрузка в проигрыватель


3-1138109339
Tornado
2006-01-24 16:28
2006.03.19
MS SQL Server Connect


15-1141113424
Дмитрий_Б
2006-02-28 10:57
2006.03.19
Кто-нибудь снимает такими фотоаппаратами?


15-1140781534
Сатир
2006-02-24 14:45
2006.03.19
Подавление сообщений Excel


6-1134121432
Wiz@rd
2005-12-09 12:43
2006.03.19
WinInet & 404, 403, 301




   Наверх