The proofing language setting in Word can cause lots of problems!
The key factor to keep in mind is that it is not a computer or system setting.
- It is not an application (Word) setting, exactly.
- It is not a document setting.
- It is not set by paragraph (although it can be part of a paragraph style).
- It is not set by sentence or word.
- It is set at the character level, somewhat like Italics or bold, except that it is invisible. Each letter or space in a document
could have a different proofing language.
The computer's language setting will influence the proofing language but doesn't set it.
If you paste text into a document it may carry language settings with it. Much text on the Internet will carry an EnglishUS setting. Anything from another Word document will carry language settings.
Just as Italics or bold, if the setting is there and you continue typing it will normally continue, even though you can't see it.
The setting may well be in paragraph or character styles in a document. Again, these can be copied and pasted.
Here are macros that may help.
Sub StyleSpanish()
' Written 10 November 2018
' Charles Kenyon
' Intended to set all styles to Spanish, proofing, not automatitically update
'
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
' aStyle.AutomaticallyUpdate = False ' probably do not want this for TOC styles - future work
aStyle.LanguageID = wdSpanish
' For variations of English, see https://docs.microsoft.com/en-us/office/vba/api/word.wdlanguageid
aStyle.NoProofing = False ' also turn on spelling and grammar checking
Next 'aStyle
ActiveDocument.UpdateStylesOnOpen = False ' For information on using this line, see:
' http://www.shaunakelly.com/word/sharing/willmyformatchange.html
On Error GoTo 0
End Sub
Sub ProofingLanguageSpanishAllStory() ' based on field updater by Greg Maxey
' https://gregmaxey.com/word_tip_pages/word_fields.html
' Charles Kenyon 10 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 Spanish in all stories of document
Dim rngStory As Word.range
Dim lngValidate As Long ' do not know purpose of this
Dim oShp As Shape
Dim oTOC As TableOfContents, oToa As TableOfAuthorities, oTof As TableOfFigures
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 = wdSpanish
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
oShp.TextFrame.TextRange.LanguageID = wdSpanish
End If
Next
End If
Case Else
'Do Nothing
End Select
On Error GoTo 0
'Get next linked story (if any)
Set rngStory = rngStory.NextStoryRange
Loop Until rngStory Is Nothing
Next
End Sub
Those are set for Spanish. Use Replace in Word or the vb Editor to replace “Spanish” with the appropriate constant. I.e., “NorwegianNynorsk” to get the Constant wdNorwegianNynorsk. Here is a list of the language constants:
https://docs.microsoft.com/en-us/office/vba/api/word.wdlanguageid
Instructions for Installing Macros from Forums or Websites by Graham Mayor, MVP