Vba ';查找所有';方法

Vba ';查找所有';方法,vba,ms-word,Vba,Ms Word,我希望在文档中找到具有特定颜色的所有文本,并在调试窗口中打印 Sub FindText() Selection.Find.Font.Color = 3539877 Selection.Find.Execute Debug.Print Selection End Sub 问题是,它只给我下一个结果,而我想一次打印所有结果。据我所知,“FindAll”方法不可用。也许我可以访问包含所有查找结果的数组 另外,有些不相关,是否可以将所有结果复制到剪贴板而不是打印它们?您必须在循

我希望在文档中找到具有特定颜色的所有文本,并在调试窗口中打印

Sub FindText()
    Selection.Find.Font.Color = 3539877
    Selection.Find.Execute
    Debug.Print Selection
End Sub
问题是,它只给我下一个结果,而我想一次打印所有结果。据我所知,“FindAll”方法不可用。也许我可以访问包含所有查找结果的数组


另外,有些不相关,是否可以将所有结果复制到剪贴板而不是打印它们?

您必须在循环中查找。看看这个例子。我将查找结果存储在一个数组中

Option Explicit

Sub FindText()
    Dim MyAR() As String
    Dim i As Long

    i = 0

    Selection.HomeKey Unit:=wdStory
    Selection.Find.Font.Color = -671023105

    Do While Selection.Find.Execute = True
        ReDim Preserve MyAR(i)
        MyAR(i) = Selection
        i = i + 1
    Loop

    If i = 0 Then
        MsgBox "No Matches Found"
        Exit Sub
    End If

    For i = LBound(MyAR) To UBound(MyAR)
        Debug.Print MyAR(i)
    Next i
End Sub