TIP: Word Power!

Thursday Sep 19th 2002 by Karl Moore
Share:

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.

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.

Usage

MsgBox GetWordCount(Text1.Text)

Code

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, "  ", " ")
  Loop

  ' Split the string and return counted words
  GetWordCount = 1 + UBound(Split(Text, " "))
    
End Function
Share:
Home
Mobile Site | Full Site
Copyright 2017 © QuinStreet Inc. All Rights Reserved