MS Word does some autocorrecting on common spelling mistakes (e.g. "withh") but simply does a red underlining on some other words (e.g. "Akwardd"). For the latter cases, one has to right click the word, and select one of the suggestions that pop up. As nearly always the top suggestion is the right one, I was wondering whether one can tweak / adjust autocorrect that for "red-underlined" words MS Word / Outlook automatically selects the top-entry / makes an educated guess?

Many thanks in advance, W

  • possible duplicate of Word autocompletion from inside document – Ƭᴇcʜιᴇ007 Jun 12 '13 at 14:16
  • This only covers autocorrect suggestions from inside the document - no? I am more looking for something that automatically chooses the most probably suggestion (rather than having me right-click and select....). Thanks – Wouter Jun 12 '13 at 22:23
  • @Wouter, The macro from autocorrect for fat fingers ms word might be what you are looking for. – Adam Jun 13 '13 at 13:04
  • That macro is exactly what i am looking for. my only remaining question: The macro works perfectly in Word, but gives an error in Outlook (probably because there is a different way to refer to the range of text / the body of the email) in VBA. Does anyone know how to tweak the macro? per below: Sub AutoSpellCheck() Dim oSE As Range Dim oSC For Each oSE In ActiveDocument.Range.SpellingErrors Set oSC = oSE.GetSpellingSuggestions If oSC.Count > 0 Then oSE.Text = oSC(1) End If Next oSE End Sub – Wouter Jun 14 '13 at 10:20

W -

  1. You'll need to have added the Microsoft Word Reference Library. In the VBA editor go to Tools-->References and check the box next to the Microsoft Word Object Library. Then use this code.

  2. Here is the adapted code:

    Sub AutoSpellCheck() Dim oSE As Word.Range Dim oSC

    With ActiveInspector
        If .IsWordMail And .EditorType = olEditorWord Then
            For Each oSE In .WordEditor.Range.SpellingErrors
                Set oSC = oSE.GetSpellingSuggestions
                If oSC.Count > 0 Then
                oSE.Text = oSC(1)
                End If
            Next oSE
        End If
    End With

    End Sub

    • S

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.