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

This topic: KnowledgeBase > AboutWord
Topic revision: 05 Jul 2021, NickDemou
Copyright © enLogic