使用Range在Word中查找文本可查找所选文本之外的文本

时间:2017-01-25 12:18:22

标签: vba ms-word find word-vba

我试图在一个段落的开头找到数字,其中运算符选择了要搜索的段落。 由于某种原因,搜索在下一段的开头找到数字(文本),即使选择在第一段的中途结束。

Set oRng = Application.Selection.Range
Set sText = Application.Selection
MsgBox sText
Debug.Print Application.Selection.Paragraphs.count
Debug.Print oRng.start & " " & oRng.End
Debug.Print "-------------------------------------"
With oRng.Find
    .Text = "^13[0-9A-Da-d]{1,10}"
    .MatchWildcards = True
    Do While oRng.InRange(Selection.Range)
        Debug.Print Selection.Range.start & " " & Selection.Range.End
        Debug.Print oRng.start & " " & oRng.End
        If .Execute Then
            Debug.Print Selection.Range.start & " " & Selection.Range.End
            Debug.Print oRng.start & " " & oRng.End
            Debug.Print oRng.Text
            Set xRng = Application.ActiveDocument.Range(start:=oRng.start + 1, End:=oRng.start + 12)
            'getRefs.Add Mid(oRng.Text, 2)
            getRefs.Add xRng.Text
        Else
            Exit Do
        End If
        oRng.Collapse wdCollapseEnd
    Loop
End With

我得到的输出如下: -  2

1389 1753

1389 1753 1389 1753 1389 1753 1399 1401

1 1389 1753 1401 1401 1389 1753 1754 1756

2

前两个是段落数,第一个段落不以数字开头。 然后是选择的开始和结束。 条目1754 1756是第三段开头的文本范围,从上面显然不在初始选择中。

段落可能如下所示: - 标题 1.文字在这里sd 2.这里有更多文字 (除了这些段落不仅仅是几个字。) 我正在使用xRng来获取包含找到的文本(较少的段落标记)和一些后续文本的文本。

0 个答案:

没有答案