Научный консалтинг
Главная
Контакты
Номер телефона
Как мы работаем
Гарантии
Условия
Цены

Как надежно отключить проверку грамматики в Word

В предыдущей статье мы уже рассматривали способы отключения проверки грамматики в Word, имеющиеся в нем по умолчанию. Однако, как оказалось, все они недостаточно универсальны и, главное – хлопотные. В частности, при переносе файла на другой компьютер проверку грамматики придется отключать заново. А сейчас рассмотрим полностью универсальный способ. Он может быть применен в Word 2003, однако, наверное, его можно применить и в более поздних версиях этого редактора, например, Word 2007.

Исходный текст

Рассмотрим пример отрывка текста (наугад взятого с какого-то сайта), в котором Word совершенно незаслуженно подчеркивает некоторые слова красным цветом. Т.е., по мнению Word, эти слова написаны с ошибками:

Исходный текст

Конечно, повторимся, можно (но, не нужно) эти слова внести в словарь и т.п., но это все – долго и хлопотно.

Однако, штатных возможностей самого Word здесь уже совершенно недостаточно, необходимо будет использовать VBA

Макрос VBA, отключающий проверку грамматики в Word

Что же, приступим к делу. Вот он, сам скрипт:

Sub gram_NO()
' Отключить проверку грамматики везде или только в выделенном тексте
' Если не выделено ничего или выделено не более 1 слова
mess = ""
If (Selection.Words.Count = 1) Then
   mess = "Отключить проверку грамматики во ВСЕМ тексте?" & vbCrLf & "Вы уверены?"
   ' Проверка, нужно ли действительно отключать грамматику во ВСЕМ тексте
 If MsgBox(mess & vbCrLf, vbYesNo) = vbNo Then
'  mess = "Операция пропущена. Ничего не сделано."
 GoTo 5
 End If
' Получаем коллекцию слов всего текста
   Set w0 = ActiveDocument.Range()
   Else
' Если выделено более 1 слова
   If (Selection.Words.Count > 1) Then
' Передаем выделенный текст в диапазон
   Set w0 = ActiveDocument.Range(Selection.Start, Selection.End)
   End If
 End If
w0.NoProofing = True
5:
End Sub


Да, так вот, коротко и ясно. Мы уже упоминали, что за отключение проверки грамматики, например, в конкретном слова или фрагмента текста отвечает тег XML

<w:noProof w:val="true"/>

Так вот, в приведенном выше макросе команда

ActiveDocument.Range(Selection.Start, Selection.End).NoProofing = True

как раз и делает эту работу. Можно запретить проверку грамматики отдельного слова, предложения. А можно – всего текста полностью. Это уж – по необходимости.

Работает макрос достаточно просто и, главное – быстро. Необходимо лишь выделить соответствующий участок текста (если этого не сделать, то макрос VBA отключит проверку грамматики ВО ВСЕМ ТЕКСТЕ), где необходимо убрать красное подчеркивание. Ну, а после этого нужно запустить скрипт:


Меню макроса VBA

Соглашаемся, нажимаем «Да». И вот что видим:


Текст Word с полным запретом проверки грамматики

Теперь красное подчеркивание полностью отсутствует во всем тексте.

А как отключить проверку грамматики лишь частично?

Т.е. в каком-то выделенном участке. Например, содержащем программный код или вставку иноязычного текста.

Для этого вернемся к исходному тексту и выделим в нем требуемый участок:


Текст Word с выделенным участом

Далее, как обычно, запускаем макрос. И видим:


В выделенном участке текста Word теперь запрещена проверка грамматики, красное подчеркивание имсчезло

Видно, что красное подчеркивание исчезло только в том фрагменте текста, который был выделен. Тогда как в оставшейся части грамматика будет проверяться и «неправильные», по мнению Word, слова будут подчеркиваться красным цветом, как обычно.

Так что, все довольно просто.

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

И, кстати, включить обратно проверку грамматики штатными средствами программы Word… НЕ ПОЛУЧИТСЯ, как ни пытайся. По крайней мере, у автора статьи это не вышло. Если понадобится, придется писать макрос, делающий обратную работу, т.е. который удалит тег

<w:noProof w:val="true"/>

Ну, или, как вариант - можно вручную открыть файл XML, соответствующий документу Word и там удалить теги, запрещающие проверку грамматики. Так что перед тем, как отключить грамматики во всем тексте или его части, хорошо подумайте, нужно ли Вам это.

Кстати, для удобства запуска макроса - разместите соответствующую кнопку на панели инструментов, например, как показано на рисунках - кнопка справа вверху
"Откл. проверку грамматики".

Вот что мы можем сделать для Вас:
Интересная и полезная
информация
Изменить размер шрифта:
?