October 22, 2018
Hot Topics:

TIP: Word Power!

  • September 20, 2002
  • By Karl Moore
  • Send Email »
  • More Articles »

Need to count the number of words in that jungle of text? Does your count conflict with the MS Word interpretation?

Stop scratching your head - let this copy-and-paste code snippet do all the hard work for you, using the same techniques as Microsoft itself.

Simply pass the GetWordCount function your text and it'll return the number of letters used. It works by making the assumptions Microsoft Word does - such as that a hyphen at the end of a line signals one hyphenated word, not two separate words to be counted.


MsgBox GetWordCount(Text1.Text)


Public Function GetWordCount(ByVal Text As String) As Long

  ' Assume a hyphen at the end of a line
  ' is part of a full-word, so combine together
  Text = Trim(Replace(Text, "-" & vbNewLine, ""))
  ' Replace new lines with a single space
  Text = Trim(Replace(Text, vbNewLine, " "))
  ' Collapse multiple spaces into one single space
  Do While Text Like "*  *"
      Text = Replace(Text, "  ", " ")

  ' Split the string and return counted words
  GetWordCount = 1 + UBound(Split(Text, " "))
End Function

Comment and Contribute


(Maximum characters: 1200). You have characters left.



Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

By submitting your information, you agree that developer.com may send you developer offers via email, phone and text message, as well as email offers about other products and services that developer believes may be of interest to you. developer will process your information in accordance with the Quinstreet Privacy Policy.


Thanks for your registration, follow us on our social networks to keep up-to-date