文字操作 文字列中に2バイト文字(日本語)が含まれているか判定

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

Option Explicit


Function CharacterInJapanese(Character As StringAs Boolean
'******************************************
'文字列中に2バイト文字が含まれているか判定
'******************************************
Dim cntLen As Long
Dim cntByt As Long

cntLen = Len(Character)
cntByt = LenB(StrConv(Character, vbFromUnicode))

If (cntLen <> cntByt) Then
    CharacterInJapanese = True
Else
    CharacterInJapanese = False
End If

End Function


Private Sub test()
Dim a As String
Dim b As String
a = "abc"
b = "あいう"
Debug.Print CharacterInJapanese(a)
Debug.Print CharacterInJapanese(b)
'False
'True
a = "abcあいう"
b = "123abc"
Debug.Print CharacterInJapanese(a)
Debug.Print CharacterInJapanese(b)
'True
'False
End Sub

 

 

 

2000年01月01日|[VBサンプルコード]:[文字操作]