Isao fragt sich, ob es eine Möglichkeit gibt, auf einfache Weise eine Liste aller eindeutigen Wörter in einem Dokument zu erstellen. Er muss nicht wissen, wie oft jedes Wort erscheint; Er braucht nur die Liste der einzigartigen Wörter. Außerdem sollten Variationen in Groß- und Kleinbuchstaben desselben Wortes als dasselbe Wort gelten.

Es gibt keine integrierte Word-Funktion oder ein integriertes Tool, um dies zu tun. In VBA können Sie jedoch auf die Words-Auflistung zugreifen, die alle Wörter im Dokument enthält. In diesem Sinne können Sie ein Makro erstellen, das eine sortierte Liste eindeutiger Wörter im Dokument erstellt und diese Wörter dann am Ende des Dokuments hinzufügt.

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

Beachten Sie, dass jedes Wort im Dokument extrahiert, in Kleinbuchstaben konvertiert und dann in sortierter Reihenfolge zur wList-Sammlung hinzugefügt wird.

Wörter werden nur hinzugefügt, wenn sie alphabetisch sind (daher werden Zahlen ebenso wie Interpunktion ausgeschlossen), und das Makro achtet nicht auf den Fall der Wörter. Sie sollten sich auch bewusst sein, dass das Makro nur Wörter im Hauptteil des Dokuments betrachtet. Es enthält keine Wörter an Stellen wie Kopf- und Fußzeilen, Textfeldern oder Formen.

Das Makro kann leicht geändert werden, um unterschiedlichen Anforderungen gerecht zu werden. Beispielsweise könnte das Makro die Wortliste in ein separates Dokument anstatt am Ende des aktuellen Dokuments einfügen. Alles, was Sie tun müssten, ist, diese Zeile vor der zweiten Zeile einzufügen, die hier als zweite angezeigt wird:

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

Beachten Sie, dass das Makro nur eine wesentliche Änderung enthielt: Das Hinzufügen der Methode „Documents.Add“ zum Erstellen des neuen Dokuments für die Zusammenfassung.

Weitere Ideen zum Herausholen von Wörtern aus einem Dokument – einschließlich Makros, die die Worthäufigkeit messen – finden Sie in diesem Tipp:

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.

(Microsoft Word ist die beliebteste Textverarbeitungssoftware der Welt.) Dieser Tipp (7697) gilt für Microsoft Word 2007, 2010, 2013 und 2016.