VB(VBA)で、濁点半濁点が1文字になっているものを濁点半濁点付き文字に変換する
必要に迫られて、というほど迫られてもいないけれど、念のための処理が必要になったので作った。
「半角カナ」ではなく「全角カナ」になっている前提。
'全角2文字で入力されている濁点、半濁点を全角1文字に変換する(例:カ゛→ガ) Function convZenkakuDakuten(str As String) As String Dim tmp As String Dim str1 As String Dim str2 As String Dim i As Integer tmp = Trim(str) str1 = "ガギグゲゴザジズゼゾダヂヅデドバビブベボ" str2 = "カキクケコサシスセソタチツテトハヒフヘホ" For i = Len(str1) To 1 Step -1 tmp = Replace(tmp, Mid(str2, i, 1) & "゛", Mid(str1, i, 1)) Next str1 = "パピプペポ" str2 = "ハヒフヘホ" For i = Len(str1) To 1 Step -1 tmp = Replace(tmp, Mid(str2, i, 1) & "゜", Mid(str1, i, 1)) Next tmp = Replace(tmp, "ウ゛", "ヴ") convZenkakuDakuten = tmp End Function
Sub test() MsgBox convZenkakuDakuten(任意の文字列) End Sub
のように呼び出して使う。