その意図は、Word 文書内の myWord のすべての出現箇所を見つけて、それらに同じコメントを追加することです。2 つの不要な影響があります。1) コードは単語の各インスタンスに 1 つ以上のコメントを追加します (その単語のインスタンスの数と同じ数のコメンを追加するようです)。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 の最初のインスタンスにのみコメントが追加されます。