Basically it is evaluating for A to Z. Consider this:
Sub ScratchMacro()
'A basic Word macro coded by Greg Maxey, http://gregmaxey.com/word_tips.html, 7/10/2017
Dim oRng As Range
Dim lngIndex As Long
Set oRng = ActiveDocument.Range
For lngIndex = 1 To 26
oRng.InsertAfter Chr(64 + lngIndex)
Next
For lngIndex = 1 To Len(oRng.Text)
If MsgBox(oRng.Characters(lngIndex) & " is represented by ASCII Character - " _
& Asc(Mid(oRng.Text, lngIndex, 1)), vbOKCancel, "DEMO") = vbCancel Then Exit For
Next
lbl_Exit:
Exit Sub
End Sub
Here is an alternative.
Sub ScratchMacroII()
'A basic Word macro coded by Greg Maxey,
http://gregmaxey.com/word_tips.html, 7/9/2017
Dim oRng As Range
Set oRng = ActiveDocument.Range
With oRng.Find
.Text = "<[A-Z]*>"
.MatchWildcards = True
While .Execute
With oRng
If Len(.Text) > 1 Then
If .Characters(2) Like "[A-Z]" Then
If .Characters(2).Font.Size < .Characters(1).Font.Size Then
'Convert faux small caps.
.Start = oRng.Start + 1
.Font.Size = oRng.Characters(1).Previous.Font.Size
.Text = LCase(oRng.Text)
.Start = oRng.Start - 1
.Font.SmallCaps = True
End If
End If
End If
.Collapse wdCollapseEnd
End With
Wend
End With
lbl_Exit:
Exit Sub
End Sub