Counting Characters in Text Boxes

by Allen Wyatt
(last updated August 22, 2015)

1

If you have a document that includes text in various text boxes, you should understand that if you do a word count, Word does not include the words in the text boxes in the word count it returns. If you want to only know the number of words in a text box, there is a way around this: Just select the text box whose words you want to count before you initiate the Word Count function. Word then dutifully counts only the words in the text box, ignoring the rest of the document.

There is one time when this select-before-count technique will not work, however. If you have multiple text boxes containing words, and those text boxes are grouped, then the Word Count function will not recognize them as "countable" if you select the group. In other words, to count the characters in the text boxes that make up the group, you must first ungroup the group and then count each text box.

Obviously, this can get tedious to do over and over again. One way around this is to use a macro that performs these same steps for you. The following macro, TextBoxCount, steps through all the shapes in your document. If they are grouped, then they are automatically ungrouped. It then executes a word count on each text box, and returns a dialog box that indicates the number of words and characters in the text boxes (collectively) and the number of words and characters in the entire document, including the text boxes.

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

Remember that this macro ungroups any grouping previously done in the document. For this reason, you may want to run the macro after saving your document, and then discard the document (reload it from disk) after getting your count.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (1839) applies to Microsoft Word 97, 2000, 2002, and 2003.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Adding Sidebars

When designing your document, you may want to use sidebars like you see in magazines and some books. This tip explains the ...

Discover More

Number Formatting Shortcuts

Keyboard shortcuts can save time and make developing a workbook much easier. Here's how to apply the most common of Excel's ...

Discover More

Determining the MAC Address for a Network Device

MAC addresses are used to uniquely identify devices attached to your network. If you need to figure out what MAC address a ...

Discover More

Learning Made Easy! Quickly teach yourself how to format, publish, and share your content using Word 2013. With Step by Step, you set the pace, building and practicing the skills you need, just when you need them! Check out Microsoft Word 2013 Step by Step today!

More WordTips (menu)

Finding Changes by Editor

Creating a Macro to find changes made by different editors.

Discover More

Creating Labels

Using Word to create and print labels is a snap. All you need to do is provide the text you want on the labels, pick a type ...

Discover More

Deleting an Old Document Version

Word allows you to maintain different versions of the same document all within a single document file. Here's how to delete ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 8Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is eight minus 3?

2016-11-12 16:15:22

Damian

Great tip. There are issues with the macro if you select "In Line with Text" for your wrap selection because there needs to be an anchor for this macro to recognize the text box.


This Site

Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.