Microsoft KB Archive/240157

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

Article ID: 240157

Article Last Modified on 10/11/2006

-

APPLIES TO


 * Microsoft Word 2000 Standard Edition

-



This article was previously published under Q240157



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. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers 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 requirements.

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.
 * 1) In the Press new shortcut key box, type the shortcut key combination you want to assign.
 * 2) 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.

