查找最后一场比赛

问题描述 投票:0回答:1

我需要你的帮助来找到最后一场比赛。不幸的是,我的模式不能按我的需要工作。我需要找到由两个字符“{{”、一个或多个数字、可能是字母(但也可能不是)和两个字符“}}”组成的一组字符的最后一个匹配项。 + 这些字符必须加下划线并加粗。例如:{{000015}} 或 {{000026WRR}}。然而,我的模式版本必然会搜索字母。搜索也会循环。

` myDocument.Range.Find.ClearFormatting

With myDocument.Range
    With .Find

        .Text = "\{{2}[0-9]{1,}[A-z]*\}{2}"

        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .Font.Bold = True
        .Font.Underline = True
            
        .MatchCase = True
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
            
        .Execute
    End With

    Do While .Find.Found
  
        myStr = .Text
        .Collapse wdCollapseEnd
        .Find.Execute
    Loop

结束

MsgBox myStr`

vba ms-word
1个回答
0
投票

要获取文档中的最后一个匹配项,请将

.Forward = True
更改为
.Forward = False

这将从文档末尾开始查找,因此第一个匹配项将是最后一个匹配项。

© www.soinside.com 2019 - 2024. All rights reserved.