|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
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
|
|||
|
|||
//---------- Диалоги ----------------
// печать Код:
WDialogPrint=8; WDialogPrinterSetup=9; //---------- Ориентация бумаги ------ Код:
WLandscape=2; // альбомная WPortrait=1; // книжная Все, что написано выше вызывает диалоги, т.к. OLE понятия не имеет какую ориентацию бумаги ты хочешь, хочешь ли просмотреть перед печатью и т.д. Возможно, если перед печатью использовать эти константы явно(а не оставлять их на обдумывание для OLE), то вполне возможно, что они исчезнут... |
#3
|
|||
|
|||
Не получается
Во-первых Delphi не знает таких переменных/констант
Но главное не в этом - принер я настраиваю отдельно, всё печается правильно. Беда в том, что если возникает ошибка при открытии файла, вылетает диалог, то-же самое, если ошибка при печати, а мне нужно, чтобы он молчал, пусть вызывает Exception, но молчит! Последний раз редактировалось Jsn, 21.01.2008 в 17:12. |