January 27, 2021
Hot Topics:

TIP: Word Power!

  • 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

This article was originally published on September 20, 2002

Enterprise Development Update

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

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