Приветствую всех.
Я програмирую на Delphi но пришлось столкнуться с VB для вывода моего отчета в Word.
Dlephi (клиент) -> MSWord (Сервер). Все работает отлично но не могу найти одну функцию.
Чтобы долго вас не грузить скину свой вопрос и его обсуждение с другово форума.
Может кто ннибудь сможет помочь.
_________________________________________________________________________
При выводе текста из Delphi в Word. С каждой новой страницей скорость вывода уменьшается. При 10-20-и страничках это не сильно заметно. Но когда подходит к 50 и далее страниц очень тормозит и торможение нарастает.
Но вот, если в сам момент вывода текста Word виден и перейти в него. и в самом Word-e на панели задач нажать правой кнопкой мыши визуальный вывод в документ прекращается. А програмно идет дальше и с очень большой скоростью.
В принципе с той же, что и при выводе первых страниц.
Сначала подумал, что это из-за проверки грамматики и синтаксиса, убрал их. Не помогло.
Попробовал при:
MSWord.Visible:= true;
MSWord.Visible:= false;
Тоже не помогает.
Подскажите pls.
_________________________________________________________________________
23-11-2005 09:18
У меня было нечто похожее. Решил методом тыка. В цикле вывода строк в Ворд ставил вызов ResetIgnoreAll (функция обьекта worddocument вроди).
Только вызывал не каждый проход в цикле, а где-то через каждых 120 строк+перед циклом. Работало отлично. Связано все это как мне кажется все-таки с проверкой орфографии.
_________________________________________________________________________
23-11-2005 14:30 | Сообщение от автора вопроса
К сожалению не помогает . Может есть еще советы ?
_________________________________________________________________________
23-11-2005 20:13
Очень медленно работают функции таблиц - добавление строк, объединение ячеек и др. Вставка и замена текста работает почти быстро. Если отображать документ уже после того, как весь текст загрузится, то это тоже происходит быстрее. И еще медленно выгружает, когда еще какой-нибудь документ Word открыт. Не знаю уж, с чем это всё связано. Но по возможности необходимо сократить число обращений к WordApplacation... - сгенерировать максимально возможный неделимый блок текста, а затем его выгрузить, чем выгружать коротенькими строчками.
_________________________________________________________________________
24-11-2005 00:15
попробуйте установить:
WordApplication1.Options.CheckSpellingAsYouType := False;
WordApplication1.Options.CheckGrammarAsYouType := False;
_________________________________________________________________________
24-11-2005 15:03 | Сообщение от автора вопроса
WordApplication1.Options.CheckSpellingAsYouType := False;
WordApplication1.Options.CheckGrammarAsYouType :=
False;
Я уже пробывал отключать не только это, а вообше все галочки в проверке правописяния. Не помогает.
А проверка орфографии (или чего-то там, не пойму) все равно продолжаеться.
Как я сам разобрался надо чтобы все, что я вывожу в документ (все видимые глазу изменения) во время самого вывода не показывалась. Как бы это объяснить... Ну то есть, не было видно бегущего курсора выдающего символы и сдвига в низ страниц и т.д. Но не функцией MSWord.Visible это не помогает.
_________________________________________________________________________
24-11-2005 23:33
У меня с вордом та же проблема (отключение всех реакций), в Excell я с этим боролся так
ExcelApp.Application.EnableEvents := false;
try
...
finally
ExcelApp.Application.EnableEvents := true;
end;
в ворде что то подобное не нашёл, но думаю направление правильное, должно же что то подобное быть, плиз сообщите кто ни будь в этом вопросе если найдёте
_________________________________________________________________________
Ничего не помогло
Вот такая проблема. Может, кто знает.