我以编程方式在word文档中定义范围对象。现在我正在尝试搜索此范围内的特定单词,但我的搜索超出了范围对象。如何在范围内限制我的搜索。 下面是代码段
WordApp.Selection.Find.Execute(<Text to find>) ' To set start of range
StartRng = WordApp.Selection.Start
With WordApp.Selection.Find
.Forward = True
.MatchCase = False
.MatchWholeWord = True
.Wrap = Word.WdFindWrap.wdFindContinue
End With
WordApp.Selection.Find.Execute(<Text to find>) ' To set end of range
EndRng = WordApp.Selection.End
WordRng = WordDoc.Range(Start:=StartRng, [End]:=EndRng)
WordRng.Select()
With WordRng.Find
.Text = "CR"
.Forward = True
.MatchCase = True
.MatchWholeWord = False
End With
WordRng.Find.Execute()
Do While WordRng.Find.Found = True
Console.WriteLine(WordRng.Text)
WordRng.Find.Execute()
CRCount += 1
Loop
这个Do while循环查找文本&#34; CR&#34;超出所选范围。
答案 0 :(得分:0)
以下代码行导致您遇到的问题:
.Wrap = Word.WdFindWrap.wdFindContinue
Find类的Wrap属性返回或设置如果搜索从文档开头以外的点开始并且到达文档末尾会发生什么(反之亦然,如果Forward设置为False)或者如果在指定的选择或范围内找不到搜索文本。