WD2000: VBA: How to Count the Occurrences of a Word or Phrase

ID: Q240157


The information in this article applies to:
  • Microsoft Word 2000


SUMMARY

Microsoft Word does not provide a built-in feature to count the number of times a word or phrase is used in a document. However, by using the programming language in Word, you can create a routine that performs this function.


MORE INFORMATION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact a Microsoft Certified Solution Provider or the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Solution Providers, please see the following page on the World Wide Web:

http://www.microsoft.com/mcsp/
For more information about the support options available from Microsoft, please see the following page on the World Wide Web:

http://www.microsoft.com/support/supportnet/overview/overview.asp

Create the Macro


Sub CountWordPhrase()

Dim x, Response, ExitResponse
Dim y As Integer

' If an error occurs, continue the macro.
On Error Resume Next

AskAgain:

' Ask for the text to count.
x = InputBox("Type the word you want to count and then click OK." _
& Chr$(13) & Chr$(13) & _
"NOTE: This macro will find a whole word only. If the text you typed " _
& "is part of a larger string, it will also be found.")

' If text typed is blank or spaces, then ask to quit.
If x = "" Or x = " " Then
    ExitResponse = MsgBox("You either clicked Cancel or you did " & _
    "not type a word. Do you want to quit?", vbYesNo)
    
    If ExitResponse = 6 Then
        End
    Else
        ' If answer No to quit, then ask for text to count again.
        GoTo AskAgain
    End If
Else

    ' Search for and count occurrences of the text typed.
    With ActiveDocument.Content.find
        Do While .Execute(FindText:=x, Forward:=True, Format:=True, _
           MatchWholeWord:=True) = True
            
           ' Display message in Word's Status Bar.
           StatusBar = "Word is counting the occurrences of the text " & _
           Chr$(34) & x & Chr$(34) & "."
           
           y = y + 1
        Loop
    End With

' Display Message Box with results.
Response = MsgBox("The text " & Chr$(34) & x & Chr$(34) & " was found" _
& Str$(y) & " times.", vbOKOnly)

End If
End Sub 

Assign a Shortcut Key to the Macro

You can assign a shortcut key to a macro by using the following steps:
  1. On the Tools menu, click Customize.


  2. Click Keyboard.


  3. In the Save changes in box, click the current document name or template in which you want to save the shortcut key changes.


  4. In the Categories box, click Macros.


  5. In the box to the right, click the name of the macro.

    NOTE: Any shortcut keys that are currently assigned to the macro will appear in the Current keys box.


  6. In the Press new shortcut key box, type the shortcut key combination you want to assign.


  7. Click Assign.


Place the Macro on a Menu or Toolbar

You can assign the macro to a menu or toolbar button by using the following steps:
  1. On the Tools menu, click Customize.


  2. Click the Commands tab.


  3. Under Categories, click Macros.


  4. In the Commands list, right-click the macro and drag the macro to the menu or toolbar you want.


  5. Click Close to close the Customize dialog box.



REFERENCES

For more information about using the sample code in this article, click the article number below to view the article in the Microsoft Knowledge Base:

Q212536 OFF2000: How to Run Sample Code from Knowledge Base Articles

Additional query words: vba

Keywords : kbdta kbmacroexample wd2000
Version : WINDOWS:2000
Platform : WINDOWS
Issue type : kbhowto


Last Reviewed: October 1, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.