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

Тема в разделе "Delphi - СОМ", создана пользователем Jsn, 1 фев 2008.

Статус темы:
Закрыта.
  1. Jsn

    Jsn Гость

    Здравствуйте!
    Проблема вот какая - создаю TWordApplication, в фоне открываю файл (документ) и выдаю его на печать.
    Все работает. Но мне надо, чтобы при ошибках не выскакивали интерактивные окна Word
    (например: "Во время последнего открытия документа произошла серьезная ошибка - восстановить?",
    "Размеры раздела выходят за границы печати" и т.п.). Перепробовал кажется всё, начиная от DisplayAlerts...
    Вот кусок кода:
    Код (Text):
     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. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    1. не юзайте компонентов, работайте как с оле-сервером
    2. свойство зделайте word'y свойство Hidden = true
     
  3. Jsn

    Jsn Гость

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

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Jsn
    да , перепутал Hiden c Visible...

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

    Jsn Гость

    Ловит, но потом :D Сначала Word задает свои вопросы, а вот если там отказаться, то происходит ошибка, которую уже ловит Дельфи...
     
  6. alexey

    alexey Гость

    К сожалению плохо помню, но от этих диалогов точно можно отказаться, только надо правильно заполнить параметры, передаваемые кажется при открытии документа, или при печати. В общем решение было, если найду - отпишу. Смотри справку во встроенном Basic-e, там все расписано :)
     
  7. Jsn

    Jsn Гость

    Измучал уже всю справку, например "DisabledItems" там нету... Появилась идея помучать реестр.
    Если что-то найдёте - отпишите, плз :lol:
     
Загрузка...
Похожие Темы - Delphi Word проблема
  1. cybert
    Ответов:
    0
    Просмотров:
    97
  2. Shouldercannon
    Ответов:
    0
    Просмотров:
    158
  3. antares
    Ответов:
    0
    Просмотров:
    441
  4. Луиза
    Ответов:
    0
    Просмотров:
    296
  5. avizer
    Ответов:
    5
    Просмотров:
    731
Статус темы:
Закрыта.

Поделиться этой страницей