Wenn Sie ein Dokument haben, das Text in verschiedenen Textfeldern enthält, sollten Sie verstehen, dass Word bei einer Wortzählung die Wörter in den Textfeldern nicht in die zurückgegebene Wortzahl einbezieht. Wenn Sie nur die Anzahl der Wörter in einem Textfeld wissen möchten, gibt es einen Weg, dies zu umgehen:

Wählen Sie einfach das Textfeld aus, dessen Wörter Sie zählen möchten, bevor Sie die Wortzählfunktion starten. Word zählt dann pflichtbewusst nur die Wörter im Textfeld und ignoriert den Rest des Dokuments.

Es gibt jedoch eine Zeit, in der diese Auswahl-vor-Zähl-Technik nicht funktioniert. Wenn Sie mehrere Textfelder mit Wörtern haben und diese Textfelder gruppiert sind, erkennt die Wortzählfunktion sie nicht als „zählbar“, wenn Sie die Gruppe auswählen. Mit anderen Worten, um die Zeichen in den Textfeldern der Gruppe zu zählen, müssen Sie zuerst die Gruppierung der Gruppe aufheben und dann jedes Textfeld zählen.

Offensichtlich kann es mühsam werden, dies immer und immer wieder zu tun. Eine Möglichkeit, dies zu umgehen, besteht darin, ein Makro zu verwenden, das dieselben Schritte für Sie ausführt.

Das folgende Makro, TextBoxCount, durchläuft alle Formen in Ihrem Dokument. Wenn sie gruppiert sind, werden sie automatisch nicht gruppiert. Anschließend wird für jedes Textfeld eine Wortanzahl ausgeführt und ein Dialogfeld zurückgegeben, in dem die Anzahl der Wörter und Zeichen in den Textfeldern (zusammen) sowie die Anzahl der Wörter und Zeichen im gesamten Dokument einschließlich der Textfelder angegeben sind.

Sub TextBoxCount()

Dim lngTBWords As Long     Dim lngTBChars As Long     Dim lngDocWords As Long     Dim lngDocChars As Long     Dim shpTemp As Shape     Dim wcTemp As Dialog     Dim bDone As Boolean

Application.ScreenUpdating = False

Do         bDone = True         For Each shpTemp In ActiveDocument.Shapes             If shpTemp.Type = msoGroup Then                 shpTemp.Ungroup                 bDone = False             End If         Next shpTemp     Loop Until bDone

'Get count in main document     Selection.HomeKey Unit:=wdStory     Set wcTemp = Dialogs(wdDialogToolsWordCount)

wcTemp.Update     wcTemp.Execute     lngDocWords = wcTemp.Words     lngDocChars = wcTemp.Characters

'Step through shapes and add counts     lngTBWords = 0     lngTBChars = 0     For Each shpTemp In ActiveDocument.Shapes         shpTemp.Select         wcTemp.Execute         lngTBWords = lngTBWords + wcTemp.Words         lngTBChars = lngTBChars + wcTemp.Characters     Next shpTemp     lngDocWords = lngDocWords + lngTBWords     lngDocChars = lngDocChars + lngTBChars

Application.ScreenUpdating = True     MsgBox Str(ActiveDocument.Shapes.Count) _       & " text boxes found with" & vbCr _       & Str(lngTBWords) & " word(s) and" & vbCr _       & Str(lngTBChars) & " characters" & vbCr & vbCr _       & " In the total document there are" & vbCr _       & Str(lngDocWords) & " word(s) and" & vbCr _       & Str(lngDocChars) & " characters"

End Sub

Denken Sie daran, dass dieses Makro alle zuvor im Dokument vorgenommenen Gruppierungen aufhebt. Aus diesem Grund möchten Sie das Makro möglicherweise nach dem Speichern Ihres Dokuments ausführen und das Dokument dann verwerfen (von der Festplatte neu laden), nachdem Sie die Anzahl ermittelt haben.

_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 (1839) gilt für Microsoft Word 97, 2000, 2002 und 2003.