
Какой макрос может включать/выключать некоторые настройки проверки правописания? (К сожалению, запись макроса не записывает изменение настроек)
Я ищу способ включить/выключить 2 настройки проверки (одновременно):
- проверяйте орфографию при вводе текста
- отмечайте грамматические ошибки по мере ввода текста
решение1
Application.Options.CheckGrammarAsYouType и .CheckSpellingAsYouType — это то, что вам нужно.
Пример:
Sub GrammarSpellingOn()
Application.Options.CheckGrammarAsYouType = True
Application.Options.CheckSpellingAsYouType = True
End Sub
Sub GrammarSpellingOff()
Application.Options.CheckGrammarAsYouType = False
Application.Options.CheckSpellingAsYouType = False
End Sub
Чтобы включить/выключить с помощью того же макроса, с всплывающим окном, сообщающим о выполненном изменении:
Sub GrammarSpellingOnOff()
If Application.Options.CheckGrammarAsYouType = True Or Application.Options.CheckSpellingAsYouType = True Then
Application.Options.CheckGrammarAsYouType = False
Application.Options.CheckSpellingAsYouType = False
Call MsgBox("Grammar & Spell Checking turned OFF")
Else
Application.Options.CheckGrammarAsYouType = True
Application.Options.CheckSpellingAsYouType = True
Call MsgBox("Grammar & Spell Checking turned ON")
End If
Application.ScreenRefresh 'refresh to add/remove spellchecker underlines
End Sub
решение2
Поэтому я настроил его немного по-другому. Я в основном использую его, когда пишу презентации, в которых есть код. Я назначил макросы клавишам, и вот оба макроса:
Это позволит игнорировать все проверки, избавляясь от раздражающих маркеров Word.
Sub CodeFont()
'
' CodeFont Macro
' Change font to differentiate code
'
Selection.Font.Name = "Consolas"
Selection.Font.Size = 11
Selection.Font.ColorIndex = wdBlue
Selection.NoProofing = True
End Sub
И когда я захочу вернуться к «нормальному» набору текста
Sub Normal()
'
' Normal Macro
'
'
Selection.Font.Name = "Times New Roman"
Selection.Font.Size = 12
Selection.Font.ColorIndex = wdBlack
Selection.NoProofing = False
End Sub