Статьи из блога
Статьи из блога
Исправление языка для проверки орфографии в Microsoft Word
Метки: word | орфография | язык
Четверг, 2 июня 2011 г.
Просмотров: 4853
Подписаться на комментарии по RSS
Версия для печати
Если в программе некорректно выставлен язык, при оформлении документов часто возникают проблемы. Как с ними справиться при проверке орфографии – об этом ниже. Если разные куски текста взяты (скопированы) из разных источников, то при проверке на правильность написания программа будет подчеркивать слова. Это происходит, если язык текста не совпадает с тем, который выставлен в данный момент. Выглядит это обычно так:

Если подчеркнуто одно слово, то требуется только поменять язык на тот, который нужен.

Если весь текст написан на одном языке, то задача тоже несложная: выделяем все и выбираем язык. Но совсем другая картина, если текст на русском, но содержит много иностранных терминов. Как поступить в этом случае? Нужно написать скрипт. Панель разработчика вначале добавляется в Word, после чего выбирается меню «настройка ленты».

Потом находим вкладку «разработчик» и ставим туда галочку.

После этого нужно в шаблоне Normal.dotm создать новый макрос.


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

Создаем кнопку для быстрого запуска макроса

Теперь следует добавить новый макрос и нажать кнопку «изменить», чтобы подобрать подпись и иконку для новой кнопки.


Таким образом, мы получили опцию (она появилась в панели быстрого запуска), которая для исправления языка запускает макрос.

Корректность работы кнопки нужно проверить.

Теперь фраза-тест готова к орфографической проверке

Текст скрипта прилагается в файле - текст скрипта.

Поиск
Рубрики
Подписка
Читают
Обсуждают
Форум
страницы
сайты
статистика
Комментариев: 2
А как быть с Украинским
Sub PrepForSpell() With Selection .LanguageID = wdRussian '.LanguageID = wdUkrainian .NoProofing = False Dim n1 As Integer Dim w1 As String For Each w In .Words w1 = Left(Trim(w), 1) If w1 "" Then n1 = Asc(w1) If (64 < n1 And n1 < 91) Or (96 < n1 And n1 < 123) Then w.LanguageID = wdEnglishUS w.NoProofing = False End If End If Next w End With Application.CheckLanguage = True End SubЯ упростил код процедуры, сделал ее работу более логичной. Теперь проверяется не весь документ (настоящая головная боль), а только выделенный кусок текста. Кроме того, теперь курсор не бегает по документу.
Ну, и бонус: чтобы использовать украинский (вместо русского) и английский языки, замените код
следующим: