其目的是在 word 文档中查找 myWord 的所有出现并向它们添加相同的注释。我得到了两个不需要的效果:1)代码在单词的每个实例上添加了超过 1 个注释(它似乎添加了与该单词实例数相同数量的 commens),以及 2)代码跳过了大写的单词字母。
Sub CheckWrd()
For Each myWord in wordArray 'wrdArray is a list of words loaded elsewhere
With Selection.Find
.Text = "[^13^11 ]" & wrd & "[^13^11 ,-.]"
.Forward = True
.Wrap = wdFindContinue
.MatchCase = False
.MatchWholeWord = True
End With
Do While Selection.Find.Execute = True
ActiveDocument.Comments.Add Selection.range, myComment
Loop
Next myWord
此外,如果我将 Do While 构造更改为 and If then,它只会将注释添加到 myWord 的第一个实例。