Public Function IsNarrow(strText As String) As Boolean
Dim intCode As Integer
For i = 1 To Len(strText)
intCode = Asc(Mid(strText, i, 1))
If intCode < &H0 Or &HFF < intCode Then
IsNarrow = False
Exit Function
End If
Next
IsNarrow = True
End Function
Public Function IsWide(strText As String) As Boolean
Dim intCode As Integer
For i = 1 To Len(strText)
intCode = Asc(Mid(strText, i, 1))
If &H0 <= intCode And intCode <= &HFF Then
IsWide = False
Exit Function
End If
Next
IsWide = True
End Function
Private Sub Test()
Debug.Assert IsNarrow(" ")
Debug.Assert IsNarrow("0")
Debug.Assert IsNarrow("A")
Debug.Assert IsNarrow("a")
Debug.Assert IsNarrow("~")
Debug.Assert IsNarrow("。")
Debug.Assert IsNarrow("ヲ")
Debug.Assert IsNarrow("ン")
Debug.Assert IsNarrow("゚")
Debug.Assert IsNarrow(" 0Aa~。ヲン゚")
Debug.Assert IsNarrow(" ") = False
Debug.Assert IsNarrow("0") = False
Debug.Assert IsNarrow("A") = False
Debug.Assert IsNarrow("a") = False
Debug.Assert IsNarrow("あ") = False
Debug.Assert IsNarrow("ア") = False
Debug.Assert IsNarrow("亜") = False
Debug.Assert IsNarrow(" 0Aaあア亜") = False
Debug.Assert IsWide(" ")
Debug.Assert IsWide("0")
Debug.Assert IsWide("A")
Debug.Assert IsWide("a")
Debug.Assert IsWide("あ")
Debug.Assert IsWide("ア")
Debug.Assert IsWide("亜")
Debug.Assert IsWide(" 0Aaあア亜")
Debug.Assert IsWide(" ") = False
Debug.Assert IsWide("0") = False
Debug.Assert IsWide("A") = False
Debug.Assert IsWide("a") = False
Debug.Assert IsWide("~") = False
Debug.Assert IsWide("。") = False
Debug.Assert IsWide("ヲ") = False
Debug.Assert IsWide("ン") = False
Debug.Assert IsWide("゚") = False
Debug.Assert IsWide(" 0Aa~。ヲン゚") = False
End Sub