艾格尼丝(Agnes)问是否有一种方法可以自动在单词“ Section”的所有实例下划线,以及在单词之后的任何辅助信息。

例如,文档可能包含诸如“ 2.3(b)(i)节”

之类的文本。或“第5.21节”或“第12.12(a)节”,Agnes希望找到该文本,并在所有文本下划线。

有一些尝试的方法。首先,您可以执行标准的“查找和替换”操作,但前提是您可以以某种方式使文本更加“标准”。如果没有某种可以匹配的模式,则几乎不可能进行查找和替换以查找文本的所有可能实例。

但是,一种可能性是记录确实查看所有可能性的宏。它不一定是一个简单的宏,因为它需要找到单词“ Section”,然后紧跟一个空格,一个数字,一个句点,更多个数字,然后(可选)找到直至并包括右括号的所有内容。这需要进行大量的文本分析。

从通配符搜索开始。以下搜索词将找到单词Section,后跟“数字点号”

模式:

Section [0-9]{1,}.[0-9]{1,}

如果在宏中使用此搜索模式,则在每次成功找到文本后,宏都可以开始扩展找到的内容,并查看其是否包含括号字符。下面的宏将执行此任务。

Sub ULWords()

Selection.Find.ClearFormatting     With Selection.Find         .Text = "Section [0-9]{1,}.[0-9]{1,}"

.Replacement.Text = ""

.Forward = True         .Wrap = wdFindContinue         .Format = False         .MatchCase = False         .MatchWholeWord = False         .MatchWildcards = True         .MatchSoundsLike = False         .MatchAllWordForms = False     End With     Selection.Find.Execute     While Selection.Find.Found         Selection.MoveRight Unit:=wdCharacter, _           Count:=1, Extend:=wdExtend             While Right(Selection.Text, 1) = "("

Selection.MoveRight Unit:=wdCharacter, _                   Count:=1, Extend:=wdExtend                 While Right(Selection.Text, 1) <> ")"

Selection.MoveRight Unit:=wdCharacter, _                       Count:=1, Extend:=wdExtend                 Wend                 Selection.MoveRight Unit:=wdCharacter, _                   Count:=1, Extend:=wdExtend             Wend         Selection.MoveRight Unit:=wdCharacter, _           Count:=-1, Extend:=wdExtend         Selection.Font.Underline = True         Selection.MoveRight Unit:=wdCharacter, Count:=1         Selection.Find.Execute     Wend End Sub

请注意,宏在开头使用通配符搜索来查找单词“ Section”的所有实例,后跟“数字点号”

模式。如果找到一个实例,则将其扩展一个字符。

如果该字符是左括号,那么选择将一直扩展到找到右括号为止。寻找开/关括号的过程继续进行,并且当没有更多的集合时,整个扩展的选择都用下划线标出。继续此过程,直到搜索了整个文档。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)上描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(11516)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。 Word的旧菜单界面在这里: