... but here is a crude attempt to at least process your example text:
Code:
Sub ScratchMacro()
'A basic Word Macro coded by Gregory K. Maxey
Dim oWord As Range
Dim oRngFlag As Range
Dim lngCount As Long
Set oWord = ActiveDocument.Words(1)
Set oRngFlag = oWord.Duplicate
Do
Debug.Print oWord.Characters(1)
Select Case True
Case oWord.Characters(1).Text Like "[A-Za-z]"
lngCount = lngCount + 1
Case oWord.Characters(1).Text Like "[.,:;\!\?]"
lngCount = 0
oWord.Select
oRngFlag.Start = oWord.End
End Select
oWord.Move wdWord, 1
oRngFlag.End = oWord.End
If lngCount = 30 Then
Do
oRngFlag.MoveEnd wdCharacter, 1
Loop Until oRngFlag.Characters.Last Like "[.,:;]"
oRngFlag.HighlightColorIndex = wdBrightGreen
oRngFlag.Collapse wdCollapseEnd
lngCount = 0
End If
Loop Until oWord.End = ActiveDocument.Range.End - 1
lbl_Exit:
Exit Sub
End Sub