Isaoは、ドキュメント内のすべての一意の単語のリストを簡単に作成する方法があるかどうか疑問に思います。彼は、各単語が何回出現するかを知る必要はありません。彼はただユニークな単語のリストが必要です。さらに、同じ単語の大文字と小文字のバリエーションは、同じ単語としてカウントする必要があります。

これを行うための組み込みのWord関数やツールはありません。ただし、VBAでは、ドキュメント内のすべての単語を含むWordsコレクションにアクセスできます。これを念頭に置いて、ドキュメント内の一意の単語の並べ替えられたリストを作成し、それらの単語をドキュメントの最後に追加するマクロを作成できます。

Sub UniqueWordList()

Dim wList As New Collection     Dim wrd     Dim chkwrd     Dim sTemp As String     Dim k As Long

For Each wrd In ActiveDocument.Range.Words         sTemp = Trim(LCase(wrd))

If sTemp >= "a" And sTemp <= "z" Then             k = 0             For Each chkwrd In wList                 k = k + 1                 If chkwrd = sTemp Then GoTo nw                 If chkwrd > sTemp Then                     wList.Add Item:=sTemp, Before:=k                     GoTo nw                 End If             Next chkwrd             wList.Add Item:=sTemp         End If nw:

Next wrd

sTemp = "There are " & ActiveDocument.Range.Words.Count & " words "

sTemp = sTemp & "in the document, before this summary, but there "

sTemp = sTemp & "are only " & wList.Count & " unique words."



ActiveDocument.Range.Select     Selection.Collapse Direction:=wdCollapseEnd     Selection.TypeText vbCrLf & sTemp & vbCrLf     For Each chkwrd In wList         Selection.TypeText chkwrd & vbCrLf     Next chkwrd End Sub

ドキュメント内の各単語が抽出され、小文字に変換されてから、並べ替えられた順序でwListコレクションに追加されることに注意してください。

単語はアルファベットの場合にのみ追加され(したがって、句読点と同様に数字は除外されます)、マクロは単語の大文字と小文字を区別しません。また、マクロはドキュメントの本体にある単語のみを参照することに注意してください。ヘッダー、フッター、テキストボックス、図形などの場所に単語は含まれません。

マクロは、さまざまなニーズに対応するために簡単に変更できます。たとえば、現在のドキュメントの最後ではなく、マクロでワードリストを別のドキュメントに貼り付けることができます。ここで2番目に示されている既存の行の前にこの行を挿入するだけです:

sTemp = "There are " & ActiveDocument.Range.Words.Count & " words "

sTemp = sTemp & "in " & ActiveDocument.Name & ", but there "

sTemp = sTemp & "are only " & wList.Count & " unique words."



Documents.Add     ActiveDocument.Range.Select     Selection.Collapse Direction:=wdCollapseEnd     Selection.TypeText vbCrLf & sTemp & vbCrLf     For Each chkwrd In wList         Selection.TypeText chkwrd & vbCrLf     Next chkwrd End Sub

マクロに実質的な変更が1つだけあることに注意してください。要約用の新しいドキュメントを作成するための「Documents.Add」メソッドの追加です。

単語の頻度を集計するマクロなど、ドキュメントから単語を取得するためのその他のアイデアについては、次のヒントを参照してください。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(7697)は、Microsoft Word 2007、2010、2013、および2016に適用されます。