Перепроверьте документ на наличие правописания, отличного от кода VBA - PullRequest
3 голосов
/ 02 августа 2010

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

CustomDictionaries.Add FileName:="c:\test_dictionary.dic"

Application.ResetIgnoreAll
ActiveDocument.Range.SpellingChecked = False
ActiveDocument.Range.GrammarChecked = False

не выдает те же результаты, что и в кнопке Word 2007 Параметры Word | Проверка документов | Повторная проверка документа .Кнопка действительно перепроверяет документ, и вы можете видеть, что вновь добавленные слова удаляются как орфографические ошибки.Код не оказывает заметного влияния.

Что я пропускаю?

Ответы [ 2 ]

1 голос
/ 04 марта 2013

Я должен был сделать то же самое для проекта, и этот обходной путь сделал это для меня:

 'spellcheck the document
 ActiveDocument.Range.LanguageID = wdFrenchHaiti
 ActiveDocument.Range.LanguageID = wdEnglishUS

Когда вы меняете язык, Word перепроверяет диапазон орфографических ошибок.

1 голос
/ 02 августа 2010

Так работает Word.Добавление CustomDictionary не приведет к его немедленному использованию, есть только несколько способов его запуска.Одним из них является диалоговое окно проверки (т. Е. Вам не нужно нажимать «Перепроверить документ», вам просто нужно нажать «ОК», и он будет перепроверен).Другой триггер - вручную , введите текст, а затем разделитель (например, пробел или абзац).Еще одним триггером является диалог проверки правописания.К сожалению, я не вижу действительно хороших вариантов.

Но вот плохой вариант, который я не пробовал.(Примечание: SendKeys плохо работает в Vista / 7, есть замена ).После того, как вы добавили свой пользовательский словарь, откройте диалоговое окно проверки и затем программно нажмите OK.Опять же, я на самом деле не пробовал, поэтому я не уверен, что это даст желаемые результаты.

...