如何在范围内提取通配符搜索的查找结果?
dim r as range
set r = activedocument.range
Do While r.Find.Execute(findtext:="<*>", MatchWildcards:=True) = True
Msgbox <Show the matching word it found here>
if **<the word it matched>** = "Stop" then do something here
Loop
上述代码使用范围通过使用&lt; *&gt;来查找范围内的任何整个单词。作为通配符模式。但是我怎样才能得到它找到的当前匹配/单词?
答案 0 :(得分:2)
Sub test()
Dim r As Range
Set r = ActiveDocument.Range
r.Select
With Selection.Find
.ClearFormatting
.Text = "<*>"
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = True
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Do While Selection.Find.Execute
If Selection.Text = "stop" Then MsgBox "wohoo"
Loop
End Sub
编辑:我对单词对象模型不太熟悉。 Find
方法适用于Range
,但我不知道如何找到它可以找到的文本。运行宏后,上面的代码会被修改,以查看找到的输出产生的内容。
希望有所帮助。