Wortanzahl für Kopf- und Fußzeilen (Microsoft Word)
Kate muss nur für die Kopf- und Fußzeilen in einem Dokument eine Wortzahl generieren, und sie weiß nicht, wie das geht.
Es gibt keine automatische Möglichkeit, dies zu tun, aber Sie können ein Makro entwickeln, das die Anzahl ermittelt. Mit VBA können Sie einfach die Überschriften in jedem Abschnitt Ihres Dokuments durchgehen und dann bestimmen, wie viele Wörter in jeder Überschrift enthalten sind. Ein Ansatz besteht darin, ein Makro wie das folgende zu verwenden:
Sub CntHeaderWords() Dim s As Section Dim h As HeaderFooter Dim sRaw As String Dim Cnt As Long Dim J As Integer Cnt = 0 For Each s In ActiveDocument.Sections For Each h In s.Headers For J = 1 To h.Range.Words.Count sRaw = h.Range.Words(J) sRaw = Trim(sRaw) If sRaw = vbCrLf Then sRaw = "" If sRaw = vbCr Then sRaw = "" If sRaw = vbLf Then sRaw = "" If Len(sRaw) > 0 Then Cnt = Cnt + 1 Next J Next h Next s MsgBox Cnt & " words in headers" End Sub
Wenn Sie dieses Makro ausführen, durchläuft es jeden Abschnitt im Dokument und dann jeden Header in diesem Abschnitt. Die Wortanzahl wird für jeden Header bestimmt und der Cnt-Variablen hinzugefügt. Wenn das Makro fertig ist, wird die Wortanzahl für die Kopfzeilen des Dokuments angezeigt.
Zu diesem Makro sind einige interessante Dinge zu beachten.
Da Sie für jeden Header eine Count-Eigenschaft für die Words-Auflistung bestimmen können, können Sie zunächst alle diese Zählungen addieren, um die Gesamtwortzahl zu bestimmen. Das Problem ist, dass Word, selbst wenn es keinen Header für einen Abschnitt gibt, eine Wortanzahl von 1 für einen „implizierten“ Header zurückgibt. Aus diesem Grund untersucht das Makro tatsächlich jedes Wort in der Kopfzeile. Wenn es sich nur um einen Wagenrücklauf oder einen Zeilenvorschub handelt, wird es nicht in die Zählung einbezogen.
Ein weiterer Punkt, den Sie beachten sollten, ist, dass jedes Satzzeichen als Wort zählt, wenn Ihre Kopfzeile Satzzeichen enthält. Wenn Sie beispielsweise die Überschrift „Alle Rechte vorbehalten“ haben, betrachtet Word dies als drei Wörter. Wenn der Header „Alle Rechte vorbehalten“ lautet. (mit der nachfolgenden Periode), dann betrachtet Word dies als vier Wörter. Das Ergebnis ist, dass Sie, wenn Sie glauben, dass Ihre Header möglicherweise Satzzeichen enthalten, den Makrocode möglicherweise so anpassen möchten, dass keine Satzzeichen gezählt werden.
Dieses Makro gibt nur eine Wortanzahl für die Überschriften in einem Dokument zurück. Wenn Sie stattdessen eine Wortanzahl für Kopf- und Fußzeilen wünschen, können Sie das Makro folgendermaßen anpassen:
Sub CntHFWords() Dim s As Section Dim h As HeaderFooter Dim f As HeaderFooter Dim sRaw As String Dim HdCnt As Long Dim FtCnt As Long Dim J As Integer HdCnt = 0 FtCnt = 0 For Each s In ActiveDocument.Sections For Each h In s.Headers For J = 1 To h.Range.Words.Count sRaw = h.Range.Words(J) sRaw = Trim(sRaw) If sRaw = vbCrLf Then sRaw = "" If sRaw = vbCr Then sRaw = "" If sRaw = vbLf Then sRaw = "" If Len(sRaw) > 0 Then HdCnt = HdCnt + 1 Next J Next h For Each f In s.Footers For J = 1 To f.Range.Words.Count sRaw = f.Range.Words(J) sRaw = Trim(sRaw) If sRaw = vbCrLf Then sRaw = "" If sRaw = vbCr Then sRaw = "" If sRaw = vbLf Then sRaw = "" If Len(sRaw) > 0 Then FtCnt = FtCnt + 1 Next J Next f Next s sRaw = "Header words: " & HdCnt & vbCrLf sRaw = sRaw & "Footer words: " & FtCnt & vbCrLf sRaw = sRaw & "Total words: " & HdCnt + FtCnt MsgBox sRaw End Sub
Diese Version des Makros wendet für jede Fußzeile genau dieselbe Zähltechnik an wie für jede Kopfzeile, wobei die Einzel- und Gesamtzählungen am Ende des Makros angezeigt werden.
_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 (10285) gilt für Microsoft Word 2007, 2010 und 2013.