by Allen Wyatt
(last updated May 2, 2019)
Kate needs to generate a word count for only the headers and footers in a document, and she's at a loss as to how to do so.
There is no automatic way to do it, but you can develop a macro that will figure out the count. VBA allows you to easily step through the headers in each section of your document, and then you can determine how many words are in each header. One approach is to use a macro like the following:
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
When you run this macro, it steps through each section in the document and then each header in that section. The word count is determined for each header and it is added to the Cnt variable. When the macro is complete, it displays the word count for the document's headers.
There are a couple of interesting things to note about this macro. First, since you can determine a Count property for the Words collection for each header, you might think that you can simply add all those counts together to determine your overall word count. The problem is that even if there is no header for a section, Word returns a word count of 1 for an "implied" header. That's why the macro actually examines each word in the header, and if it is nothing but a carriage return or line feed, then it isn't included in the count.
Another item to note is that if you have any punctuation in your header, each punctuation mark counts as a word. For instance, if you have the header "All rights reserved", Word considers that to be three words. If the header is "All rights reserved." (with the trailing period), then Word considers that to be four words. The upshot is that if you think there may be punctuation in your headers, then you may want to adjust the macro code to not count punctuation.
This macro only returns a word count for the headers in a document. If you want, instead, a word count for both headers and footers, then you can adjust the macro in this way:
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
This version of the macro applies the exact same counting technique to each footer as it does to each header, displaying the individual and total counts at the end of the macro.
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (10285) applies to Microsoft Word 2007, 2010, and 2013.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!
Headers and footers add a finishing touch to documents, but sometimes they can be bothersome. You may need to remove them ...Discover More
When you insert a new section in your document, Word assumes you want the headers and footers in that section to be the ...Discover More
When you attach a template to a document, it doesn't modify the documents headers or footers. This tip provides three ...Discover More
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.