Moshe的Word文档已由副本编辑器编辑。编辑器在其中插入注释的任何地方,都以左括号开头,后跟“ ed note:”,然后是注释,最后是右括号。

对于Moshe的内部流程,将这些注释作为实际的Word注释更为有利。他想知道是否有一种方法可以自动找到这些文本注释,并将其隐藏为Word注释。

实现此过程自动化的方法是使用宏。宏可以依赖Word的“查找和替换”功能,但是只要找到匹配的注释,便会添加一些处理。

Sub NoteToComment()

Dim sTemp As String

Selection.HomeKey Unit:=wdStory

With Selection.Find         .ClearFormatting         .Text = "\(ed note:*\)"

.Replacement.Text = ""

.Forward = True         .Wrap = wdFindStop         .MatchWildcards = True     End With

Do While Selection.Find.Execute         sTemp = Selection.Text         sTemp = Mid(sTemp, 10, Len(sTemp) - 11)

sTemp = Trim(sTemp)

Selection.Text = ""

Selection.MoveEnd unit:=wdCharacter         Selection.MoveStart unit:=wdCharacter, Count:=-1         If Selection.Text = "  " Then Selection.Text = " "

Selection.Collapse         ActiveDocument.Comments.Add Range:=Selection.Range, Text:=sTemp     Loop End Sub

宏首先移动到文档的开头,然后设置搜索条件。寻找的是Moshe指出的模式-左括号,后跟“ ed note:”,然后是音符,最后是右括号-该序列分配给Find对象的.Text属性。请注意,每个括号前面都有一个反斜杠。如果不包括这些反斜杠,Word将在搜索模式中将括号视为控制字符。此外,.MatchWildcards属性设置为True,以便将.Text属性视为搜索模式。

在每次查找匹配注释时都会输入的“ Do While”循环中,将sTemp变量设置为注释文本。除去前9个字符(这些是“(ed note:”)),最后是右括号。注释将从文档中删除,并且如果删除后还有多个空格,则这些空格也会被删除。 ||||最后,在sTemp变量中添加了包含文本的实际注释

|使用此宏时要记住一件事:它取决于正确匹配注释模式。这意味着,如果有些注释不完全遵循该模式,则可能找不到并转换它们(例如,左括号后有空格)。此外,如果文档中的注释包含

||||内的注释(换句话说,注释中有嵌套的括号)将弄乱通配符搜索找到的内容以及随后在注释中结束的内容。 :_

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

链接:/ wordribbon-WordTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。

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

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(1797)适用于Microsoft Word 2007、2010、2013和2016。