【问题标题】:WORD VBA Count Wildcard Search HitsWORD VBA 计数通配符搜索命中
【发布时间】:2011-03-31 13:09:22
【问题描述】:

您好,我下面的代码已经完美运行。我想不通的是如何计算通配符搜索找到匹配项的次数。谁能告诉我该怎么做?代码如下:

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

任何帮助将不胜感激。谢谢大家!

【问题讨论】:

    标签: vba wildcard ms-word


    【解决方案1】:

    我认为您只需要在模块顶部定义一个静态计数器字段 - 即不在任何子或函数内(这就是使其成为静态的原因):

    dim MatchCounter as long
    

    只需在适当的位置初始化为零,并让您的匹配函数在每次匹配时递增。 (如果初始化逻辑/更新逻辑分散且难以确定,也可以将其包装在一个小类中)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-10
      相关资源
      最近更新 更多