Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Технологии
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.01.2008, 18:44
Jsn Jsn вне форума
Прохожий
 
Регистрация: 17.01.2008
Сообщения: 2
Репутация: 10
Вопрос Delphi + MSWord - диалоговые окна

Здравствуйте, Уважаемые!

Помогите найти метод подавления диалоговых окон MS Word, уже долго ковыряюсь...
Проблема вот какая - создаю TWordApplication, в фоне открываю файл (документ) и выдаю его на печать. Все работает. Но мне надо, чтобы при ошибках не выскакивали интерактивные окна Word (например: "Во время последнего открытия документа произошла серьезная ошибка - восстановить?", "Размеры раздела выходят за границы печати" и т.п.). Перепробовал кажется всё, начиная от DisplayAlerts...
Вот кусок кода:
Application1 := TWordApplication.Create(nil);
with Application1 do
begin
try
fn := aFileName;
Visible := False;
fn1 := False;
fn2 := True;
DisplayAlerts := wdAlertsNone;
Documents.Open(fn, fn1, fn2, fn1, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam);
fn := 1;
Documents.Item(fn).Activate;
PrintOut(fn1);
Result := True;
except
on E: Exception do
LogError('Error printing: ' + FormatDateTime(DateTimeString, Now) + ' '
+ aFileName + ' - ' + E.Message);
end;
end;

Так вот ворд упорно выводит свои диалоги..
Delphi 5 и 7, Word 97-2000-XP - результат один

Спасибо за помощь!
Ответить с цитированием
  #2  
Старый 20.01.2008, 16:59
~ SaM ~ ~ SaM ~ вне форума
Начинающий
 
Регистрация: 05.01.2007
Адрес: Днепропетровск
Сообщения: 141
Репутация: 25
По умолчанию

//---------- Диалоги ----------------

// печать
Код:
WDialogPrint=8;
WDialogPrinterSetup=9;

//---------- Ориентация бумаги ------
Код:
WLandscape=2;       // альбомная
WPortrait=1;        // книжная


Все, что написано выше вызывает диалоги, т.к. OLE понятия не имеет какую ориентацию бумаги ты хочешь, хочешь ли просмотреть перед печатью и т.д.

Возможно, если перед печатью использовать эти константы явно(а не оставлять их на обдумывание для OLE), то вполне возможно, что они исчезнут...
Ответить с цитированием
  #3  
Старый 21.01.2008, 15:44
Jsn Jsn вне форума
Прохожий
 
Регистрация: 17.01.2008
Сообщения: 2
Репутация: 10
Печаль Не получается

Во-первых Delphi не знает таких переменных/констант
Но главное не в этом - принер я настраиваю отдельно, всё печается правильно. Беда в том, что если возникает ошибка при открытии файла, вылетает диалог, то-же самое, если ошибка при печати, а мне нужно, чтобы он молчал, пусть вызывает Exception, но молчит!

Последний раз редактировалось Jsn, 21.01.2008 в 17:12.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter