Function func_ChkCahr(ByVal intTYPE As Integer, ByVal strCHAR As String) As Boolean
Dim lngLEN As Long '文字数(≠バイト数)
Dim intPOS As Integer 'チェックポジション
Dim strMOJI As String 'チェックする文字(1文字)
Dim intMOJILen As Integer 'チェックする1文字の長さ
lngLEN = strCHAR.Length '文字列全体長さ
intPOS = 1 'チェック開始位置=1
Select Case intTYPE
Case 1, 2, 3
Case Else
GoTo NG
End Select
Do While intPOS <= lngLEN
strMOJI = Mid(strCHAR, intPOS, 1) '1文字取り出し
intMOJILen = func_GetByte(strMOJI) '1文字のバイト数カウント
If intMOJILen = 1 Then '1バイト=半角
If intTYPE = 1 Then 'チェックタイプ=半角
ElseIf intTYPE = 2 Then 'チェックタイプ=全角
GoTo NG
Else
End If
Else '≠1バイト=全角
If intTYPE = 1 Then 'チェックタイプ=半角
GoTo NG
ElseIf intTYPE = 2 Then 'チェックタイプ=全角
Else
End If
End If
intPOS += 1
Loop
OK:
func_ChkCahr = True
Exit Function
NG:
func_ChkCahr = False
End Function
|