找到标记为错误的每个单词

时间:2017-08-28 17:48:36

标签: vba ms-word ms-office word-vba

是否可以找到MS-Word标记为错误的单词?

我的目标是找到包含“è”而不是“é”的单词,但要使用宏我需要将char替换为标记为错误的单词。

我正在研究MS-Word 2013

1 个答案:

答案 0 :(得分:1)

这里有一些代码可以帮助您入门。你需要添加检查"坏"的代码。信

' this is just demo code that shows how misspelled words could be replaced

' create document with a few words, one or two misspelled
' then single-step this code using F8 key
' while watching the text in the document


Sub aaaaaa()

    Dim i As Integer
    Dim badChr As String
    Dim badWrd As String

    Dim wrd As Object
    For Each wrd In ActiveDocument.Words

        If wrd.SpellingErrors.Count > 0 Then

            badWrd = wrd.SpellingErrors(1).Text
            Debug.Print badWrd

            wrd.SpellingErrors(1).Text = string(len(badWrd),"x")   ' replace whole word if you like
            wrd.SpellingErrors(1).Text = badWrd                    ' put back original

            For i = 1 To wrd.SpellingErrors(1).Characters.Count    ' loop characters in misspelled word
                badChr = wrd.SpellingErrors(1).Characters(i).Text
                wrd.SpellingErrors(1).Characters(i).Text = "x"     ' replace character
                wrd.SpellingErrors(1).Characters(i).Text = badChr  ' restore character
            Next i
        End If
    Next wrd
End Sub