2011-03-31 78 views
2

嗨,我已經在下面的代碼已完美工作。我無法弄清楚的是如何計算通配符搜索找到匹配的次數。任何人都可以告訴我我該怎麼辦?代碼如下:WORD VBA計數通配符搜索命中

Sub findfunction() 
If (findHL(activedocument.Content, "[aeiou]")) = True Then MsgBox "Highlight vowels Done", vbInformation + vbOKOnly, "Vowels Highlight Result" 
If (findHL(activedocument.Range, "<wa*>")) = True Then MsgBox "Highlight words beginning with WA", vbInformation + vbOKOnly, "Prefix Find Result" 
End Sub 

Function findHL(r As Range, s As String) As Boolean 
Options.DefaultHighlightColorIndex = wdRed 
r.Find.Replacement.highlight = True 
r.Find.Execute FindText:=s, MatchWildcards:=True, Wrap:=wdFindContinue, Format:=True, replace:=wdReplaceAll 

findHL = True 
End Function 

任何幫助將不勝感激。多謝你們!

回答

2

我想你只需要在你的模塊的頂部定義的靜態反場 - 即沒有任何子或功能(這是什麼使得它的靜態)內:

dim MatchCounter as long 

在剛剛初始化爲零適當的地方,並在每場比賽都有你的匹配功能增量。 (如果初始化邏輯/更新邏輯分佈在&難以固定的位置,也可以將其封裝在一個小類中)。