Share via

[Article] Proofing Language Keeps Changing - Solutions - How can I keep my proofing language from changing? Spelling Checker doesn't work!

Community Article Author 1,005 Reputation points
2025-07-17T15:00:10.82+00:00

📌 Note: This article was originally created by Charles Kenyon, a valued member on Answers Support Community. It provided meaningful insights and proved helpful to many. We're recreating it here on their behalf to preserve its value and ensure continued access for others.

Scope: All desktop versions of Word (Mac and Windows)

Word Online is a different program. It does not work the same. For that you may have to simply change the language setting for the document after creating it. The same is true of mobile versions.

Technical Level: Beginner - Intermediate

Summary:

The question posted here is: How can I keep my proofing language changing (often to English US)? or The Spelling Checker doesn't work!

The basic answer is that unless you do your work on an isolated computer and do not paste into your document, you cannot. However, there are steps you can take that will make things go much more smoothly. This article discusses seven things to do in your system and in your document to make proofing language work for you. It starts, though, with what to do if the problem arises in a single document.

One things discussed further in this article that can change proofing language is:

  • Keyboard languages will change the proofing language.

Then three macros are provided with instructions for making deeper-level changes.

Two more are provided to create character styles. One creates a character style for the French proofing language. The other a no-proofing character style.

The first three macros can also be used for problems with "Do Not Check Spelling or Grammar" issues.

I urge anyone running into problems with the spelling checker to read [Mastering the Spelling Checker by Suzanne Barnhill, MVP] . As far as I know, that is the best discussion of problems and solutions that involve that tool.

See also: Investigating the Word language bug - Office Watch - which discusses many of these issues

See also: Check Spelling and Grammar in a Different Language (MS Support)

First: For a single document:

Select all the text (Ctrl+A).

Click on the Language setting in the Status Bar

Select the appropriate language

Make sure the box for "Do not check spelling or grammar" is clear. If it has anything in it, click on it until it is empty.

Press OK

Press the F7 key to run a spell-check.

Detail:

First, if possible if your Operating System (Windows/MacOS) regional language settings do not match your primary proofing language setting in Word, set your keyboard to match the proofing language you want.

The Operating System language changes the keyboard language setting automatically. This seems to over-ride any settings in Word. It can initially over-ride paragraph style settings in the Normal template as well. The keyboard language setting will be applied in any blank document regardless of the language setting in Word or even in the template being used to create the document.

Here is a screenshot from a new document on December 14, 2025 showing this problem when no change was made in the keyboard by the user.

User's image

Second: Become familiar with the Proofing Language as a concept and with the Proofing Language Dialog

The "proofing language" is a key to several Word features including spelling and grammar and AutoCorrect. It is not an application-wide setting nor even a document setting; it is set at the character level! It is set at the character level in every document.

Third: You can use the Status Bar (This  part about the Status Bar may only apply to Windows versions.)

You can display the proofing language for a particular place in a document on the Status Bar. (Windows) If this is not showing there, right-click and add it.

User's image

Right-clicking on the Status Bar lets you check or uncheck what you want there.

User's image

Fourth: Because the proofing language is character-level formatting, it can be imported when you paste text from other documents or from the Internet (or within a document). See this question where it was happening in all documents created from a pdf.

Fifth: The proofing language setting can be in your Styles.

Styles (both character and paragraph) can have language components that will override application settings just like applying the language directly will. It is rare for a paragraph style to have a language attribute, though, unless you have set one. As far as I know, none are set that way by default. You may wish to look at this thread on How to remove language from a style.

One of the simplest ways to reliably change to a different proofing language for some text is to set a character style for that language. (See below for a macro creating a style for French as an example.) Such a style can be applied quickly using a keyboard shortcut. Here is my separate article on how to set one of these up: Using Styles for Proofing Language Settings

Sixth: Make sure that you turn off the proofing option to detect language automatically. Word is bad at this and terrible when it comes to distinguishing the spelling in various forms of English (or other languages with multiple spelling versions).

There are two checkboxes at the bottom of the dialog. Both should be blank (empty).

On this dialog, the settings for what the proofing language is and for checking spelling are grammar are at the character level. That is, checking that box or setting a language applies to the selected text.

On the other hand, the setting for detecting language automatically is a system setting that applies to all documents that you open until it is changed.

Seventh: The simplest thing to do for an immediate fix to a document is to select all the text in your document and apply the correct proofing language. Ctrl+A and then Reviewing tab > Language > Proofing Language and then select the correct language. (Clicking on the language in the status bar will take you directly here.

Also, make sure the box "Do not check Spelling or Grammar" is not checked. If misspelled words are not being flagged, this is almost always the problem.

For a single document with problems, this solution of selecting and changing will give a quick fix.

Again, it is important that you keep in mind that the proofing language can be in any text that you paste in!

==============================================================

Macros can be used for tougher problems.

Proofing language in headers/footers, textboxes, etc. within a document

Proofing language contained in Styles in the document

Proofing language contained in Styles in the Normal template.

Set up a character style for a particular language.

Set up a character style for "no proofing."

Turn off "no proofing" setting for a document.

Here are three macros to address these problem-. Although they are set for English UK or English AUS, you can change that. See Language IDs in VBA to find the language ID you would want if not English UK.

If you are just dealing with your language setting changing to "Do Not Check Spelling or Grammar" you can delete or comment out the lines dealing with the proofing language.

The first one is for an individual document to set the proofing language for all text to English US.

Again, change the language ID if you want a different language.

Also turns off any "do not check attribute. - Delete or comment out line if you do not want this.

If you are just dealing with "do not check" delete or comment out the lines with the language attribute. These are marked below.

Sub ProofingLanguageEnglishUSAllStory()    ' based on field updater by Greg Maxey
    ' https://gregmaxey.com/word_tip_pages/word_fields.html
    ' Charles Kenyon 6 November 2018
    ' https://answers.microsoft.com/en-us/msoffice/forum/all/force-all- documents-to-be-edited-in-uk-english/df6d1f8e-5426-49d9- bea0-5620d0208294
    ' Changes proofing language to English US in all stories of document
    ' Language IDs https://docs.microsoft.com/en-us/office/vba/api/word.wdlanguageid
    Dim rngStory As Word.range
    Dim lngValidate As Long ' do not know purpose of this
    Dim oShp As Shape
    lngValidate = ActiveDocument.Sections(1).Headers(1).range.StoryType
    For Each rngStory In ActiveDocument.StoryRanges
      'Iterate through all linked stories
      Do
        On Error Resume Next
        rngStory.LanguageID = wdEnglishUS  ' delete or comment out if you do not want to change the language ID
 
        rngStory.NoProofing = False
 
        Select Case rngStory.StoryType
          Case 6, 7, 8, 9, 10, 11
            If rngStory.ShapeRange.Count > 0 Then
              For Each oShp In rngStory.ShapeRange
                If oShp.TextFrame.HasText Then
                   ' Comment out or delete the next line if you do not want to change proofing language
                   oShp.TextFrame.TextRange.LanguageID = wdEnglishUS  ' delete or comment out if you do not want to change the language ID
                   ' Comment out or delete the next line if you do not want to change the "no proofing" setting
                   oShp.TextFrame.TextRange.NoProofing = False
                End If
              Next
            End If
          Case Else
            'Do Nothing
        End Select
        On Error GoTo -1
        'Get next linked story (if any)
        Set rngStory = rngStory.NextStoryRange
      Loop Until rngStory Is Nothing
      Next
End Sub

The second one is to change the proofing language of all Styles to English UK in an individual document: 

Again, change the language ID for a different language

This also makes sure that "do not check Spelling or Grammar" is not checked - you can delete or comment out this line if you want

If you are just dealing with "do not check" delete or comment out the lines with the language attribute. These are marked below.

Sub StyleEnglishUK()
'   Written 21 March 2018
'   Charles Kenyon
'   Intended to set all styles to EnglishUK, proofing, not automatically update
'   Language IDs https://docs.microsoft.com/en-us/office/vba/api/word.wdlanguageid
'
    Dim aStyle As Style
    On Error Resume Next ' Some styles have no language attribute and will give an error
    For Each aStyle In ActiveDocument.Styles
 
        Select Case aStyle.NameLocal
            Case "TOC 1", "TOC 2", "TOC 3", "TOC 4", "TOC 5", "TOC 6", "TOC 7", "TOC 8", "TOC 9", "Table of Figures", "Table of Authorities"
                Let aStyle.AutomaticallyUpdate = True
            Case Else
                Let aStyle.AutomaticallyUpdate = False
        End Select
        Let aStyle.LanguageID = wdEnglishUK  ' delete or comment out if you do not want to change the language ID
        Let aStyle.NoProofing = False
    Next aStyle
    Let ActiveDocument.UpdateStylesOnOpen = False ' For information on using this line, see:
'       http://www.shaunakelly.com/word/sharing/willmyformatchange.html
    On Error GoTo -1
End Sub

See also this thread on How to remove language from a style. (Hint: You cannot do it. You can change to a different language, but you cannot remove the proofing language setting altogether once you have set one. At best, you can completely redefine the style.) Here is the public feedback portal suggestion on this. Feel free to comment and vote.

If the styles in your normal template are in the wrong language, here is one for the normal template: English Australian

Again, change the language ID for a different language

This also makes sure that "do not check Spelling or Grammar" is not checked - you can delete or comment out this line if you want

If you are just dealing with "do not check" delete or comment out the lines with the language attribute. These are marked below.

Sub StyleEnglishAUSNormalTemplate()
'   Written 27 September 2019
'   Charles Kenyon
'   Intended to set all styles in Normal template to EnglishAUS, proofing, not automatitically update
'   Use right after opening Word
'   Language IDs https://docs.microsoft.com/en-us/office/vba/api/word.wdlanguageid
'
    Application.ScreenUpdating = False
    Application.NormalTemplate.OpenAsDocument
    Dim aStyle As Style
    On Error Resume Next ' Some styles have no language attribute and will give an error
    For Each aStyle In ActiveDocument.Styles
 
        Select Case aStyle.NameLocal
            Case "TOC 1", "TOC 2", "TOC 3", "TOC 4", "TOC 5", "TOC 6", "TOC 7", "TOC 8", "TOC 9", "Table of Figures", "Table of Authorities"
                Let aStyle.AutomaticallyUpdate = True
            Case Else
                Let aStyle.AutomaticallyUpdate = False
        End Select
        Let aStyle.LanguageID = wdEnglishAUS  ' delete or comment out if you do not want to change the language ID
        Let aStyle.NoProofing = False   ' also turn on spelling and grammar checking
    Next aStyle
    Let ActiveDocument.UpdateStylesOnOpen = False
' For information on using the above line, see:
'       http://www.shaunakelly.com/word/sharing/willmyformatchange.html
    ActiveDocument.Close SaveChanges:=True
    Let Application.ScreenUpdating = True
    Application.ScreenRefresh
    MsgBox Title:="All done!", Prompt:="Proofing Language in all styles in the Normal template set to English Australian."
    On Error GoTo -1
End Sub

See also this thread on How to remove language from a style. (Hint: You cannot do it. You can change to a different language, but you cannot remove the proofing language setting altogether once you have set one.) Here is the public feedback portal suggestion on this. Feel free to comment and vote.

Note that the last two macros on styles turn on spelling and grammar checking in all styles as well as change the language. If you do not want that to happen, remove the line:

       Let aStyle.NoProofing = False   ' also turn on spelling and grammar checking

or go back to the styles where you want spell-checking turned off after you've run the macros. Likewise the language about automatically updating styles.

Here is a variation of the macro for the normal template that sets all of the styles to allow proofing.

Sub NoProofingRemoveFromNormalTemplate()
'   Written 25 April 2022
'   Charles Kenyon
'   Intended to set all styles in Normal template to check spelling and grammar
'   Use right after opening Word
'   Language IDs  https://docs.microsoft.com/en-us/office/vba/api/word.wdlanguageid
'
    Application.ScreenUpdating = False
    Application.NormalTemplate.OpenAsDocument
    Dim aStyle As Style
    On Error Resume Next ' Some styles have no language attribute and will give an error
    For Each aStyle In ActiveDocument.Styles
 '
        Let aStyle.NoProofing = False   ' turn on spelling and grammar checking
    Next aStyle
    ActiveDocument.Close SaveChanges:=True
    Let Application.ScreenUpdating = True
    Application.ScreenRefresh
    MsgBox title:="All done!", Prompt:="Proofing Language in all styles in the Normal template set to allow checking."
    On Error GoTo -1
 End Sub

See also this thread on How to remove language from a style. (Hint: You cannot do it. You can change to a different language, but you cannot remove the proofing language setting altogether once you have set one.) Here is the public feedback portal suggestion on this. Feel free to comment and vote.

Macro to creating a Character Style to set language for selection to French

One of the simplest methods of setting a variant language in a document is to use a character style with that language setting. Such a style can be assigned to a keyboard shortcut. You can use different names and different language IDs to have different language styles: Language IDs in VBA

I have a separate article just on this. See Using Styles for Proofing Language Settings.

Here is a sample macro that creates a character style in the document called "French Language:"

Sub FrenchLanguageCharacterStyleCreate()  ' SEE ALSO ASSIGNSHORTCUTFRENCHLANGUAGE FOLLOWING
    ' Charles Kenyon
    ' Creates a character style named "French Language" in the Active Document
    ' Does NOT apply the style to a selection, simply creates the style
    ' 26 October 2021
    '
    Dim stlFrench As Style
    '
    On Error GoTo ErrorAlreadyExists
    Set stlFrench = ActiveDocument.Styles.Add(Name:="French Language", Type:=wdStyleTypeCharacter)
    On Error GoTo -1
    With stlFrench
        .Font.Name = ""
        .LanguageID = wdFrench
    End With
    GoTo ExitSub
ErrorAlreadyExists:
    MsgBox Prompt:="Style 'French Language' already exists", Buttons:=vbInformation, title:="Not Needed"
ExitSub:
    Set stlFrench = Nothing
End Sub
Sub AssignShortcutFrenchLanguage()
    '
    ' Charles Kenyon ---- GOES WITH PREVIOUS MACRO
    ' 26 October 2021
    ' Assigns keyboard shortcut Ctrl+Shift+Alt+F to French Language style
    '   Style must exist
    '   Saves this shortcut in the active document
    '
    CustomizationContext = ActiveDocument    ' Change ActiveDocument to NormalTemplate if style is in Normal Template
    KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyF, wdKeyControl, _
                                          wdKeyShift, wdKeyAlt), _
                                          KeyCategory:=wdKeyCategoryStyle, _
                                          Command:="No Spell Check"
End Sub

When you want to return to the underlying or base language, the keyboard shortcut Ctrl+Spacebar returns to the underlying paragraph style (and language).

Macro to creating a Character Style to set language for selection to not check spelling or grammar

One of the simplest methods of setting a variant language in a document is to use a character style with that language setting. Such a style can be assigned to a keyboard shortcut.

See companion article No proofing styles in Microsoft Word - No Spell Check character style for macros.

See the macro following that will turn proofing back on.

Macro to turn spell checking on in a document. Here is a short macro that is the equivalent of selecting the entire body of the document and then unchecking/clearing the box for "Do not check Spelling or Grammar."

Sub SpellingGrammarCheckDocumentOn()
    ' Charles Kenyon 2024 January 9
    ' Turn on Spelling and Grammar Check for Selected Text
    '
    With ActiveDocument
        .Range.NoProofing = False ' This means that you do not check! It is a double negative.
    End With
End Sub

This could be attached to a keyboard shortcut and/or a QAT button. Here are some references:

Assigning Keyboard Shortcuts in Microsoft Word 2007-2021 (365) https://addbalance.com/articles/Assigning%20Keyboard%20Shortcuts%20in%20Microsoft%20Word%202007-2024%20(365).htm

Modifying the Quick Access Toolbar (QAT) in Microsoft Word

Any keyboard shortcut or QAT modification should be stored in the same template that holds the macro.

This question comes up often enough that I've placed that macro with a keyboard shortcut into a short Add-In that can be downloaded.

Here is information with a link to download it.

Keyboard Shortcuts to change "no proofing" status in Microsoft Word

Here's how to use a macro found in this forum or on another webpage:

For PC macro installation:

https://www.gmayor.com/installing_macro.htm (or)

https://gregmaxey.com/word_tip_pages/installing_employing_macros.html

For Mac macro installation & usage instructions, see:

https://wordmvp.com/Mac/InstallMacro.html

There is a Microsoft Help page on this. I disagree with some of its points but it handles some things more thoroughly than I can here.

Troubleshoot Check Spelling or Grammar in Multiple Languages.

See also Bob Korchock's excellent analysis in this thread. He says pretty much the same thing but uses different language and has a Mac perspective.

See also Andrew Lockton's macro and my macro in this Word Forum thread dealing with changing language to English UK. I posted an Add-In in that thread.

See also this thread on How to remove language from a style. (Hint: You cannot do it. You can change to a different language, but you cannot remove the proofing language setting altogether once you have set one.) Here is the public feedback portal suggestion on this. Feel free to comment and vote.

Microsoft 365 and Office | Word | For business | Windows
0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.