Marc正在宏中寻找最快,最有效的方法来确定特定文本字符串在文档中出现多少次的计数。不幸的是,用一两个简单的命令就无法做到这一点。相反,您需要使用Word的“查找和替换”功能来“逐步浏览”文档。

首先,请为您的文档制作一个临时副本,以免造成原始文档混乱的风险。然后,在宏中使用变量来计算所需文本被替换的次数,并在每次替换时递增该变量。在下面的示例中,次数将最终出现在变量Replacements中。

然后,您可以使用该值或将该值转换为字符串以显示它。

Sub CountReplacements     Dim Replacements As Integer

Replacements = 0     Selection.Find.ClearFormatting     Selection.Find.Replacement.ClearFormatting     With Selection.Find         .Text = InputBox("Enter the text you want to find:")

.Replacement.Text = InputBox("Enter the replacement text:")

.Forward = True         .Wrap = wdFindContinue         .Format = False         .Execute Replace:=wdReplaceOne

Do Until Not .Found             .Execute Replace:=wdReplaceOne             Replacements = Replacements + 1             Selection.MoveRight Unit:=wdCharacter, Count:=1         Loop

If Replacements <> 0 Then             MsgBox _               "" & .Text & " has been replaced " & _               CStr(Replacements) & " times with " & _               .Replacement.Text         Else             MsgBox .Text & " was not found in the document/selection."

End If     End With End Sub

注意:

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

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

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