I need help, pls !

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
LorDen
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 02.12.2005 (Пт) 12:58

I need help, pls !

Сообщение LorDen » 10.12.2005 (Сб) 23:30

Приветствую всех.
Я програмирую на 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;



в ворде что то подобное не нашёл, но думаю направление правильное, должно же что то подобное быть, плиз сообщите кто ни будь в этом вопросе если найдёте
_________________________________________________________________________



Ничего не помогло

Вот такая проблема. Может, кто знает.

mnzol
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 29.09.2004 (Ср) 11:02

Сообщение mnzol » 11.12.2005 (Вс) 11:03

Просто надо после определенного объема добавлять еще один документ Ворд, иначе у меня, например, он не просто тормозил, а на определенном этапе просто выдавал ошибку. Если же отчет разбивался на части, то все проходило нормально.
А по поводу таблиц, для ускорения работы, я их делаю в Эселе потом вставляю в Ворд и там уже форматирую

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.12.2005 (Вс) 16:25

FleX_2004
Такое ощущение, что ты а) никогда не работал с word и б) не читал вопрос далее первых двух строчек...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 53

    TopList