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

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

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 first discusses four things to do in your system and in your document to make proofing language work for you.

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

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.

Detail:

First, if possible, your Operating System (Windows/MacOS) regional language settings should match your primary language setting in Word.

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.

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.

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

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). It can be in your Styles.


Third, 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.

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.

Fourth: 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.

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

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 of any "do not check attribute. - Delete or comment out line if you do not want this.

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

        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
                   ' 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 allStyles to English UK: 

  • 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

Sub StyleEnglishUK()
'   Written 21 March 2018
'   Charles Kenyon
'   Intended to set all styles to EnglishUK, proofing, not automatitically 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
        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

If the styles in your normal template are off, 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

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
        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

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's how to use a macro found in this forum or on another webpage:

For PC macro installation:

For Mac macro installation & usage instructions, see:

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.

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.

 

Forum Article Info


Last updated September 19, 2020 Views 1,352 Applies to: