Toggling AutoCorrect Settings
[ by
Allen Wyatt (last updated July 13, 2019) original article:
https://word.tips.net/T001738_Toggling_AutoCorrect_Settings.html ]
If you want to easily switch word's autocorect on and off use this macro:
Sub ToggleAC()
Dim State As String
Dim ACVal As Integer
Dim VarPass As Variant
Dim VarNum As Integer
VarNum = 0
For Each VarPass In ActiveDocument.Variables
If VarPass.Name = "ACState" Then VarNum = VarPass.Index
Next VarPass
If VarNum <> 0 Then
State = ActiveDocument.Variables.Item(VarNum).Value
ACVal = Val(Mid$(State$, 1, 1))
If ACVal <> 0 Then AutoCorrect.CorrectInitialCaps = True
ACVal = Val(Mid$(State$, 2, 1))
If ACVal <> 0 Then AutoCorrect.CorrectSentenceCaps = True
ACVal = Val(Mid$(State$, 3, 1))
If ACVal <> 0 Then AutoCorrect.CorrectDays = True
ACVal = Val(Mid$(State$, 4, 1))
If ACVal <> 0 Then AutoCorrect.CorrectCapsLock = True
ACVal = Val(Mid$(State$, 5, 1))
If ACVal <> 0 Then AutoCorrect.ReplaceText = True
ACVal = Val(Mid$(State$, 6, 1))
If ACVal <> 0 Then Options.AutoFormatAsYouTypeReplaceQuotes = True
ActiveDocument.Variables.Item(VarNum).Delete
Else
State = ""
State = State & Mid(Str(Abs(AutoCorrect.CorrectInitialCaps)), 2)
State = State & Mid(Str(Abs(AutoCorrect.CorrectSentenceCaps)), 2)
State = State & Mid(Str(Abs(AutoCorrect.CorrectDays)), 2)
State = State & Mid(Str(Abs(AutoCorrect.CorrectCapsLock)), 2)
State = State & Mid(Str(Abs(AutoCorrect.ReplaceText)), 2)
State = State & Mid(Str(Abs(Options.AutoFormatAsYouTypeReplaceQuotes)), 2)
ActiveDocument.Variables.Add "ACState", State
With AutoCorrect
.CorrectInitialCaps = False
.CorrectSentenceCaps = False
.CorrectDays = False
.CorrectCapsLock = False
.ReplaceText = False
End With
Options.AutoFormatAsYouTypeReplaceQuotes = False
End If
End Sub