Generieren einer Liste eindeutiger Wörter (Microsoft Word)
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.