Article ID: 114180
Article Last Modified on 11/23/2006
Sub MAIN
If IsMacro() Then
MsgBox "This will not run in a macro window."
Else
ScreenUpdating
EditBookmark .Name = "NumCharPlaceHolder", .Add
EditSelectAll
Number = Len(Selection$()) - 1
StartOfDocument
If SelInfo(12) <> - 1 Then
EditGoTo .Destination = "t"
EndIf
While SelInfo(12) = - 1
If SelInfo(12) = - 1 Then
Rows = SelInfo(15) * 2
While SelInfo(13) <> SelInfo(15)
NextCell : Count = Count + 2
Wend
Count = Count + (SelInfo(18) * 2)
End If
Number = Number - Count - Rows
count = 0
EndOfRow 1
CharRight 2
EditGoTo .Destination = "t"
Wend
EditBookmark .Name = "NumCharPlaceHolder", .Goto
EditBookmark .Name = "NumCharPlaceHolder", .Delete
End If
MsgBox "Character Count:" + Str$(Number)
End Sub
Below is an additional macro which counts all the characters in the document
including spaces and tabs to workaround this problem- Example 2:
StartOfDocument
Count = 0
While CmpBookmarks("\sel", "\endofdoc") <> 0
CharRight 1
Count = Count + 1
Wend
MsgBox "word count" + Str$(Count + 1)
' If you would not like to count the last Paragraph mark make
' the last line of the macro read:
' Msgbox "Word Count" + Str$(Count)
NOTE: These macros include tabs, spaces and paragraph marks (except the last one
in the document). These macros do not take into consideration inline
objects. They count each inline object as one character. They do not count
text and graphics positioned in the drawing layer.
Additional query words: character count statistics document summary info
Keywords: kbmacro kbmacroexample kbprb KB114180