Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Печать в Word. Как ускорить 
V
    Опции темы
ИгнатьевАлексей
Дата 31.7.2020, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 356
Регистрация: 18.11.2005

Репутация: 2
Всего: 3



Друзья, прошу подсказки!

Выполняю вывод информации в Word. Предложения записываю примерно так:
1. Несколько слов жирными,
2. число,
3. несколько слов обычными,
4. перенос на другую строку
и т.д.

Процедура, которая вводит фразу:
Код

Sub InsertText(ByRef str As String, ByRef objWrdDoc As Word.Document, ByRef isBold As Boolean, ByRef Align As String, _
                ByRef Level As String, ByVal Space As Integer)
    objWrdDoc.Range.InsertAfter str
    objWrdDoc.Range(Start:=objWrdDoc.Characters.Count - Len(str) - 1, _
            End:=objWrdDoc.Characters.Count - 1).Bold = isBold
            
    If InStr(str, "<") <> 0 Then
        objWrdDoc.Range(Start:=objWrdDoc.Characters.Count - Len(str) - 1, _
            End:=objWrdDoc.Characters.Count - 1).Font.Color = wdColorRed
    Else
        objWrdDoc.Range(Start:=objWrdDoc.Characters.Count - Len(str) - 1, _
            End:=objWrdDoc.Characters.Count - 1).Font.Color = wdColorBlack
    End If
            
    objWrdDoc.Paragraphs(objWrdDoc.Paragraphs.Count).Alignment = Align
    objWrdDoc.Paragraphs(objWrdDoc.Paragraphs.Count).OutlineLevel = Level
    
    'If Space > 0 Then
        objWrdDoc.Paragraphs(objWrdDoc.Paragraphs.Count).Format.SpaceBefore = Space
        objWrdDoc.Paragraphs(objWrdDoc.Paragraphs.Count).Format.SpaceAfter = Space
    'End If
End Sub


Все идет нормально, но документ большой. Вывод на глазах замедляется и замедляется.
Почему происходит такое замедление?
Что можно сделать, чтобы его исключить?


--------------------
Vingrad - FOREVER !!! 

"Как вы яхту назовете - так она и поплывет!" 
 Капитан Врунгель 
PM MAIL   Вверх
Akina
Дата 1.8.2020, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20459
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 451



Брось на форму RTFTextbox, собери всё в нём, потом вставляй крупными блоками.

А тормозит скорее всего из-за накопления UNDO.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
ИгнатьевАлексей
Дата 7.8.2020, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 356
Регистрация: 18.11.2005

Репутация: 2
Всего: 3



Akina
Подскажите, а если UndoClear не помогает, то, значит, тормозит по другой причине? Или я наивен, что так просто хотел решить проблему?


--------------------
Vingrad - FOREVER !!! 

"Как вы яхту назовете - так она и поплывет!" 
 Капитан Врунгель 
PM MAIL   Вверх
ИгнатьевАлексей
Дата 8.8.2020, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 356
Регистрация: 18.11.2005

Репутация: 2
Всего: 3



Печатаю во временный файл Ворда. Затем кусок копирую в основной файл.

Спасибо!


--------------------
Vingrad - FOREVER !!! 

"Как вы яхту назовете - так она и поплывет!" 
 Капитан Врунгель 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.1041 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.