我试图在一个段落的开头找到数字,其中运算符选择了要搜索的段落。 由于某种原因,搜索在下一段的开头找到数字(文本),即使选择在第一段的中途结束。
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 1399 1401
1 1389 1753 1401 1401 1389 1753 1754 1756
2
前两个是段落数,第一个段落不以数字开头。 然后是选择的开始和结束。 条目1754 1756是第三段开头的文本范围,从上面显然不在初始选择中。
段落可能如下所示: - 标题 1.文字在这里sd 2.这里有更多文字 (除了这些段落不仅仅是几个字。) 我正在使用xRng来获取包含找到的文本(较少的段落标记)和一些后续文本的文本。