我想查找具有特定颜色的文档中的所有文本,并将其打印在调试窗口中。
Sub FindText()
Selection.Find.Font.Color = 3539877
Selection.Find.Execute
Debug.Print Selection
End Sub
问题是它只给我下一个结果,而我想要一次打印所有结果。据我所知,'FindAll'方法不可用。也许我可以访问包含所有查找结果的数组。
另外,稍微不相关,是否可以将所有结果复制到剪贴板而不是打印它们?
答案 0 :(得分:1)
你必须在循环中进行查找。看这个例子。我将查找结果存储在数组
中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