Während Sie Ihre Dokumente analysieren, fragen Sie sich möglicherweise, ob es eine Möglichkeit gibt, die Anzahl der Wörter im Dokument zu zählen. Leider enthält Word eine solche Funktion nicht, aber Sie können einige Dinge tun.

Wenn Sie wissen möchten, wie oft ein bestimmtes Wort oder eine bestimmte Phrase verwendet wird, können Sie zunächst die folgenden Schritte ausführen:

  1. Drücken Sie Strg + H, um die Registerkarte Ersetzen des Dialogfelds Suchen und Ersetzen anzuzeigen. (Siehe Abbildung 1.)

  2. Geben Sie im Feld Suchen nach das Wort oder die Phrase ein, die gezählt werden soll.

  3. Geben Sie im Feld Ersetzen durch ^ & ein. Diese Zeichenfolge teilt Word mit, dass Sie das, was Sie finden, durch das ersetzen möchten, was Sie in das Feld Suchen nach eingegeben haben. (Mit anderen Worten, Sie ersetzen das Wort oder die Phrase durch sich selbst.)

  4. Wenn Sie nach einzelnen Wörtern suchen, aktivieren Sie das Kontrollkästchen Nur ganze Wörter suchen.

  5. Klicken Sie auf Alle ersetzen. Word nimmt die Ersetzungen vor und zeigt Ihnen, wie viele Instanzen ersetzt wurden. Das ist die Nummer, die Sie wollen.

Dieser Ansatz funktioniert hervorragend, wenn Sie nur ein oder zwei Wörter oder Sätze haben, die Sie kennen möchten. Sie können den Prozess ein wenig automatisieren, indem Sie das Dokument mithilfe eines Makros durchsuchen und für Sie zählen. Das folgende Makro fordert den Benutzer zur Eingabe eines Wortes auf und zählt dann, wie oft dieses Wort im Dokument angezeigt wird. Es wird weiterhin nach einem anderen Wort gefragt, bis der Benutzer auf die Schaltfläche Abbrechen klickt.

Sub FindWords()

Dim sResponse As String     Dim iCount As Integer

' Input different words until the user clicks cancel     Do         ' Identify the word to count         sResponse = InputBox( _           Prompt:="What word do you want to count?", _           Title:="Count Words", Default:="")

If sResponse > "" Then             ' Set the counter to zero for each loop             iCount = 0             Application.ScreenUpdating = False             With Selection                 .HomeKey Unit:=wdStory                 With .Find                     .ClearFormatting                     .Text = sResponse                     ' Loop until Word can no longer                     ' find the search string and                     ' count each instance                     Do While .Execute                         iCount = iCount + 1                         Selection.MoveRight                     Loop                 End With                 ' show the number of occurences                 MsgBox sResponse & " appears " & iCount & " times"

End With             Application.ScreenUpdating = True         End If     Loop While sResponse <> ""

End Sub

Wenn Sie alle eindeutigen Wörter in einem Dokument sowie die Häufigkeit der einzelnen Wörter im Dokument ermitteln möchten, ist ein anderer Ansatz erforderlich. Das folgende VBA-Makro erledigt genau das.

Sub WordFrequency()

Const maxwords = 9000          'Maximum unique words allowed     Dim SingleWord As String       'Raw word pulled from doc     Dim Words(maxwords) As String  'Array to hold unique words     Dim Freq(maxwords) As Integer  'Frequency counter for unique words     Dim WordNum As Integer         'Number of unique words     Dim ByFreq As Boolean          'Flag for sorting order     Dim ttlwds As Long             'Total words in the document     Dim Excludes As String         'Words to be excluded     Dim Found As Boolean           'Temporary flag     Dim j, k, l, Temp As Integer   'Temporary variables     Dim ans As String              'How user wants to sort results     Dim tword As String            '

' Set up excluded words     Excludes = "[the][a][of][is][to][for][by][be][and][are]"



' Find out how to sort     ByFreq = True     ans = InputBox("Sort by WORD or by FREQ?", "Sort order", "WORD")

If ans = "" Then End     If UCase(ans) = "WORD" Then         ByFreq = False     End If          Selection.HomeKey Unit:=wdStory     System.Cursor = wdCursorWait     WordNum = 0     ttlwds = ActiveDocument.Words.Count

' Control the repeat     For Each aword In ActiveDocument.Words         SingleWord = Trim(LCase(aword))

'Out of range?

If SingleWord < "a" Or SingleWord > "z" Then             SingleWord = ""

End If         'On exclude list?

If InStr(Excludes, "[" & SingleWord & "]") Then             SingleWord = ""

End If         If Len(SingleWord) > 0 Then             Found = False             For j = 1 To WordNum                 If Words(j) = SingleWord Then                     Freq(j) = Freq(j) + 1                     Found = True                     Exit For                 End If             Next j             If Not Found Then                 WordNum = WordNum + 1                 Words(WordNum) = SingleWord                 Freq(WordNum) = 1             End If             If WordNum > maxwords - 1 Then                 j = MsgBox("Too many words.", vbOKOnly)

Exit For             End If         End If         ttlwds = ttlwds - 1         StatusBar = "Remaining: " & ttlwds & ", Unique: " & WordNum     Next aword

' Now sort it into word order     For j = 1 To WordNum - 1         k = j         For l = j + 1 To WordNum             If (Not ByFreq And Words(l) < Words(k)) _               Or (ByFreq And Freq(l) > Freq(k)) Then k = l         Next l         If k <> j Then             tword = Words(j)

Words(j) = Words(k)

Words(k) = tword             Temp = Freq(j)

Freq(j) = Freq(k)

Freq(k) = Temp         End If         StatusBar = "Sorting: " & WordNum - j     Next j

' Now write out the results     tmpName = ActiveDocument.AttachedTemplate.FullName     Documents.Add Template:=tmpName, NewTemplate:=False     Selection.ParagraphFormat.TabStops.ClearAll     With Selection         For j = 1 To WordNum             .TypeText Text:=Trim(Str(Freq(j))) _               & vbTab & Words(j) & vbCrLf         Next j     End With     System.Cursor = wdCursorNormal     j = MsgBox("There were " & Trim(Str(WordNum)) & _       " different words ", vbOKOnly, "Finished")

End Sub

Wenn Sie ein Dokument öffnen und dieses Makro ausführen, werden Sie gefragt, ob Sie eine nach Wort oder Häufigkeit sortierte Liste erstellen möchten. Wenn Sie ein Wort auswählen, wird die resultierende Liste in alphabetischer Reihenfolge angezeigt. Wenn Sie die Häufigkeit auswählen, wird die resultierende Liste in absteigender Reihenfolge angezeigt, je nachdem, wie oft das Wort im Dokument angezeigt wurde.

Während das Makro ausgeführt wird, zeigt die Statusleiste an, was gerade passiert.

Abhängig von der Größe Ihres Dokuments und der Geschwindigkeit Ihres Computers kann es einige Zeit dauern, bis das Makro fertig ist. (Ich habe es mit einem 719-seitigen Dokument mit über 349.000 Wörtern ausgeführt und es dauerte ungefähr fünf Minuten.)

Beachten Sie, dass das Makro eine Zeile enthält, die einen Wert in der Zeichenfolge Ausschlüsse festlegt. Diese Zeichenfolge enthält Wörter, die das Makro beim Zusammenstellen der Wortliste ignoriert. Wenn Sie der Ausschlussliste Wörter hinzufügen möchten, fügen Sie sie einfach der Zeichenfolge zwischen [eckigen Klammern] hinzu. Stellen Sie außerdem sicher, dass die Ausschlusswörter in Kleinbuchstaben geschrieben sind.

Wenn Sie aus irgendeinem Grund keine Makros verwenden möchten, gibt es andere Programme, mit denen Sie Wortzahlen erstellen können. Beispielsweise enthält der NoteTab-Texteditor (die „Light“ -Version kann kostenlos unter http://www.notetab.com heruntergeladen werden) eine Funktion, die eine Wortzahl bereitstellt.

Sie müssen lediglich Ihr gesamtes Dokument kopieren und in NoteTab einfügen. Wählen Sie dann in NoteTab Extras | Textstatistik | Mehr. Es enthält eine Analyse der Worthäufigkeit einschließlich der Prozentsätze.

_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 weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (1833) gilt für Microsoft Word 97, 2000, 2002 und 2003. Sie finden eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Word (Word 2007) und später) hier: