Каталог решений - Исправление орфографических ошибок с помощью MS Word

Исправление орфографических ошибок с помощью MS Word

Исправление орфографических ошибок с помощью MS Word

В наличии

Пример исправления орфографических ошибок с помощью MS Word, т.е. без доступа в интернет.

Категория:

Описание

Описание работы 

Первоначально был взят код из интернета:

https://helpf.pro/faq8/view/642.html

и в нём исправлена ошибка, чтобы он запускался. У себя, в обработку добавил JavaScript, чтобы было удобно проверять ошибки.

А потом, началась оптимизация работы: чтобы работало быстро и без интернета.

Советы по скорости работы с MS Word

help по Word: https://docs.microsoft.com

метод CheckSpelling — возвращает Истина/Ложь, в зависимости от того, есть ли в проверяемом тексте (слове) ошибка.

метод CheckSpelling  — работает очень быстро (в Конфигураторе — меню Отладка — Замер производительности).

метод GetSpellingSuggestions — возвращает список вариантов слов замены орфографической ошибки, работает долго.

Можно не все слова проверять на ошибки, а только те, длина которых больше трёх символов.

 

Больше всего проблем со скоростью вызывает строка:

Word = Новый COMОбъект("Word.Application");

Оптимизация следующая:

При первом запуске она будет тормозить в любом случае. А вот последующие запуски можно исключить ))

1) Если на компьютере пользователя достаточно оперативной памяти — эта строка коннекта "живёт" некоторое время в оперативной памяти (компьютер пользователя), даже при разрыве коннекта Word.Quit()

И последующие вызовы происходят быстро. Но это не очень надёжно, т.к. коннект должен быть!

2) Поэтому в Конфигураторе можно написать несколько строк кода…

Модуль Управляемого приложения — ПередНачаломРаботыСистемы()

и сохранить в глобальную переменную на &Клиент-е

этот важный для нас коннект COMОбъект("Word.Application")

И конечный пользователь будет рад, что ждать нужно только при запуске 1С Приложения, а остальное время всё "летает".

Директива глобальной переменной: &Клиент т.к. используем MS Word на компьютере пользователя, хотя можно использовать и сервер 1С.

У ОбщихМодулей есть свойство — Повторное использование возвращаемых значений (сохранять на время сеанса).

 

Модуль Управляемого приложения — ПриЗавершенииРаботыСистемы()

Word.Quit()

И всё оборачиваем в Попытка-Исключение. А также, если что, повторное создание.

 

Если у пользователя долго запускается MS Word, проверьте размер файла шаблона Normal.dot

C:\Users\Пользователь\AppData\Roaming\Microsoft\Шаблоны

Его можно удалить, если размер больше 50Кб (у меня он 16Кб). Он создастся новый при первом последующем запуске.

 

На компьютере пользователя, Диспетчер задач — процессы — задать соответствие — (если много процессоров, поставить галочки)

 

И ещё один совет: пользователя нужно отвлекать чем-то, когда программа долго работает (загрузка, выгрузка и т.д.).

Например, как это сделано в типовых конфигурациях, показывать анимацию )) Это не шутка, html-код это позволяет.

У меня быстро всё запускается, кроме первого раза, пользователь просто не успеет разглядеть кота, поэтому это не делал.

кошка отвлекает пользователя

 

Описание настроек

 

Запустить Конфигуратор и добавить обработку в раздел Обработки. Затем запустить 1С Предприятие.

ОбработкаТест — это пример вызова в программе основной обработки ПроверкаПравописанияWord.

 

Тестировал на платформах 1С:Предприятие 8.3 (8.3.12.1685), (8.3.18.1741).

MS Word 2007

has been added to your cart:
Оформление заказа