【Excel Acsess Word VBA】文字列の半角判定、全角判定、全角半角混在判定関数(Is関数イメージ)

VBA・Officeカテゴリを表すパンダのイラスト VBA・Office

VBAで使える文字列の全角判定、半角判定、全角半角混在判定関数(Is関数イメージ)

ロジックは こちら  APIのインターフェースは C#の こちら を参考にさせてもらっている。

‘http://www.moug.net/tech/acvba/0120010.html 参考
‘半角文字がすべて半角の場合 Trueとなる。
Public Function IsHankaku(ByVal str As String) As Boolean
    IsHankaku = False
    Dim ANSIstr As String
    ANSIstr = StrConv(str, vbFromUnicode)
    Dim H As Long: H = Len(str)
    Dim Z As Long: Z = LenB(ANSIstr)
    If H = Z Then IsHankaku = True
End Function

‘半角文字がすべて全角の場合 Trueとなる。
Public Function IsZenKaku(ByVal str As String) As Boolean
    IsZenKaku = False
    Dim ANSIstr As String
    ANSIstr = StrConv(str, vbFromUnicode)
    Dim H As Long: H = Len(str)
    Dim Z As Long: Z = LenB(ANSIstr)
    If (H * 2) = Z Then IsZenKazu = True
End Function

‘半角全角文字混ざっている場合 Trueとなる。
Public Function IsZenHankaku(ByVal str As String) As Boolean
    IsZenHankaku = False
    Dim ANSIstr As String
    ANSIstr = StrConv(str, vbFromUnicode)
    Dim H As Long: H = Len(str)
    Dim Z As Long: Z = LenB(ANSIstr)
    If Not ((H = Z) Or ((H * 2) = Z)) Then IsZenHankaku = True
End Function

Sub 文字列の全角半角判定()

    ‘実行結果 False
    Debug.Print IsZenKaku("aaaa")
    ‘実行結果 True
    Debug.Print IsZenKaku("あああ")
    ‘実行結果 False
    Debug.Print IsZenKaku("あああa")
    ‘実行結果 False
    Debug.Print IsZenKaku("11")
    ‘実行結果 True
    Debug.Print IsZenKaku("11")
    ‘実行結果 True
    Debug.Print IsHankaku("aaaa")
    ‘実行結果 False
    Debug.Print IsHankaku("あああ")
    ‘実行結果 False
    Debug.Print IsHankaku("あああa")
    ‘実行結果 True
    Debug.Print IsHankaku("11")
    ‘実行結果 False
    Debug.Print IsHankaku("11")
    ‘実行結果 False
    Debug.Print IsZenHankaku("aaa")
    ‘実行結果 False
    Debug.Print IsZenHankaku("あああ")
    ‘実行結果 True
    Debug.Print IsZenHankaku("あああa")
    ‘実行結果 False
    Debug.Print IsZenHankaku("11")
    ‘実行結果 False
    Debug.Print IsZenHankaku("11")
    ‘実行結果 True
    Debug.Print IsZenHankaku("111")

End Sub

文書情報

記事タイトル
【Excel Acsess Word VBA】文字列の半角判定、全角判定、全角半角混在判定関数(Is関数イメージ)
作成日
更新日
Source URL
https://papanda925.com/?p=540

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました