【问题标题】:'Find all' method“查找所有”方法
【发布时间】:2015-02-27 05:05:20
【问题描述】:

我想查找文档中具有某种颜色的所有文本并在调试窗口中打印出来。

Sub FindText()
    Selection.Find.Font.Color = 3539877
    Selection.Find.Execute
    Debug.Print Selection
End Sub

问题是它只给我下一个结果,而我想一次打印所有结果。据我所知,“FindAll”方法不可用。也许我可以访问一个包含所有查找结果的数组。

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

【问题讨论】:

    标签: vba ms-word


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-31
      • 2013-03-14
      • 2013-06-04
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      • 2017-10-19
      相关资源
      最近更新 更多