Delphi + Word - проблема диалоговых окон

  • Автор темы Jsn
  • Дата начала
Статус
Закрыто для дальнейших ответов.
J
#1
Здравствуйте!
Проблема вот какая - создаю 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 - результат один

Не посоветуете, как добиться ПОЛНОСТЬЮ фоновой работы?
Спасибо!
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
1. не юзайте компонентов, работайте как с оле-сервером
2. свойство зделайте word'y свойство Hidden = true
 
J
#3
1. не юзайте компонентов, работайте как с оле-сервером
2. свойство зделайте word'y свойство Hidden = true
Не получается :wacko:
1. Пробовал CreateOleObject('Word.Application') и CreateOleObject('Word.Basic') - тот-же результат.
2. Свойства Hidden нет у TWordApplication и не "поддерживается automation объектами"
У Application есть свойство Visible, я его ставлю, Word не виден, но свои диалоги сует...
Досадно...
 

morpheus

скриптописец
07.08.2006
3 915
1
#4
Для: Jsn
да , перепутал Hiden c Visible...

а разве делфийный обработчик Try Except не ловит ошибку?
 
A

alexey

#6
К сожалению плохо помню, но от этих диалогов точно можно отказаться, только надо правильно заполнить параметры, передаваемые кажется при открытии документа, или при печати. В общем решение было, если найду - отпишу. Смотри справку во встроенном Basic-e, там все расписано :)
 
J
#7
К сожалению плохо помню, но от этих диалогов точно можно отказаться, только надо правильно заполнить параметры, передаваемые кажется при открытии документа, или при печати. В общем решение было, если найду - отпишу. Смотри справку во встроенном Basic-e, там все расписано :)
Измучал уже всю справку, например "DisabledItems" там нету... Появилась идея помучать реестр.
Если что-то найдёте - отпишите, плз :lol:
 
Статус
Закрыто для дальнейших ответов.