トップへ(mam-mam.net/)

半角カナだけを全角カナに変換

検索:

「半角カナだけを全角カナに変換」

半角カナだけを全角カナに変換する方法はありますか。

回答

VBAで関数を組むしかありません。

ソース

'半角カナを全角カナに変換
Function fKanaHan2Zen(ByRef myString As String) _
                                      As String
    Dim i       As Long
    Dim strTemp As String
    Dim strKana As String
    Dim chrKana As String

    For i = 1& To Len(myString)
        chrKana = Mid$(myString, i, 1&)
        Select Case Asc(chrKana)
            Case 166 To 223
                '半角が続いたら文字をつなぐ
                strKana = strKana & chrKana
            Case Else
            '全角文字になったら半角の未処理文字を全部全角
            'に変換これにより濁点処理等が不要
                If Len(strKana) > 0& Then
                    strTemp = strTemp & StrConv(strKana, vbWide)
                    strKana = vbNullString
                End If
                strTemp = strTemp & chrKana
        End Select
    Next i
    '最後の文字が半角の場合の処理
    If Len(strKana) > 0& Then
        strTemp = strTemp & StrConv(strKana, vbWide)
    End If
    fKanaHan2Zen = strTemp
End Function