● 文字列に漢字があるか判定する ●

使用用途はあまりなさそう…。

文字コード判定がまだ完全でないかも…。ちょっと改造すればひらがな・カタカナ判定関数が出来る。

'-------------------------------------------------------------------
' 関数名 : IsKanjiCode
' 機  能 : 文字列に漢字が含まれるかを調べ、最初に見つけた位置を返す
' 引  数 : (in) srcText … 対象文字列
' 返り値 : 漢字が含まれる位置  含まれない時:0
'-------------------------------------------------------------------
Function IsKanjiCode(ByVal srcText As String) As Long

    Dim CharPos As Long
    Dim CheckChar As String
    Dim WideCharByte() As Byte

    For CharPos = 1 To Len(srcText)
        'Shift Jis に変換
        CheckChar = StrConv(Mid$(srcText, CharPos, 1), vbFromUnicode)

        '2バイト文字チェック
        If LenB(CheckChar) = 2 Then
            WideCharByte = CheckChar

            'ひらがな・カタカナ・記号・機種依存文字でもなければ漢字だろう…
            If Not (WideCharByte(0) = &H81 Or WideCharByte(0) = &H82 Or _
                    WideCharByte(0) = &H83 Or WideCharByte(0) = &H87) Then
                IsKanjiCode = CharPos
                Exit For
            End If
        End If
    Next CharPos

End Function

戻る