View Single Post
 
Old 03-08-2017, 03:18 PM
macropod's Avatar
macropod macropod is offline Windows 7 64bit Office 2010 32bit
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 22,466
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default

Yes, it's possible to write such a macro, but the results would be unreliable at best. First, there's the question of whether the word is actually misspelt - it might be a place name, a person's name, or a technical word not found in Word's spell-check dictionary. Then, even if it is misspelt, the there's the question of whether spell-check could identify which of a number of possibilities (if any) the correct spelling might be; simply picking the first possibility might be worse than leaving it alone... And what if the misspelling was in the source (perhaps deliberately)!??

That said, the following macro automatically corrects spelling errors in a document, using the first-suggested word from the spelling dictionary, unless the word is found in the macro’s exclusions list. Words in the exclusion list get bright green highlighting and other words, for which no correction can be found, get pink highlighting.
Code:
Sub AutoSpellCorrect()
Dim Rng As Range, oSuggestions As Variant, StrExcl As String
StrExcl = ",word1,word2,word3,"
For Each Rng In ActiveDocument.Range.SpellingErrors
  If InStr(StrExcl, "," & Rng.Text & ",") = 0 Then
    If Rng.GetSpellingSuggestions.Count > 0 Then
      Set oSuggestions = Rng.GetSpellingSuggestions
      Rng.Text = oSuggestions(1)
    Else
      Rng.HighlightColorIndex = wdPink
    End If
  Else
    Rng.HighlightColorIndex = wdBrightGreen
  End If
Next
End Sub
Caveat Emptor! The National Library of Australia has OCR'd millions of pages from newspapers and engaged a team of volunteer proof-readers over many years to go through them all an manually correct the spelling mistakes. This major institution - with far more $ and expertise to throw at the matter than you or I - recognised that relying on an automated spell-check just wouldn't do the job to the standard required. The project is ongoing.

As for grammar corrections - aside from the fact there's no way to automate this, why would you want to do anything about the grammar of the source material? It is what it is!
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]
Reply With Quote