半角カタカナを全角ひらがなに変換する(StrConv関数)
半角カタカナと戦う(StrConv関数)
名簿のふりがな欄
いろんな名簿を作る必要があって、着手してから気がついた。
名簿のふりがな欄、ふりがなの付け方めちゃくちゃやんけ!
ある名簿は全角ひらがな。またある名簿は半角カタカナ。
んで、StrConv関数を使ってみた。
半角カタカナを全角ひらがなにできるか
やってみた。
イミディエイト・ウインドウに、
?StrConv("ラルフ・ブライアント",vbHiragana)
と入力して[Enter]!
全然ダメwww
半角カタカナを全角カタカナにできるか
こんどは、
?StrConv("ラルフ・ブライアント",vbWide)
と入力して[Enter]!
おお! 半角カタカナから全角カタカナというのはできるようだ。ありがたい。
ちゃんと「ブ」(2文字)が「ブ」(1文字)になっとるし。
一旦全角カタカナにしてから全角ひらがなへ
全角カタカナから全角ひらがなならフツーにできると思うので、
?StrConv(StrConv("ラルフ・ブライアント",vbWide),vbHiragana)
これで大丈夫のはず。
[Enter]!
やはり。
半角カタカナを全角ひらがなに変換するFunction
作ってみた。
リスト1 標準モジュール
Public Function convertSingleByteKatakanaToDoubleByteHiragana _ (ByVal targetString As String) As String Dim tmp As String tmp = StrConv(targetString, vbWide) tmp = StrConv(tmp, vbHiragana) convertSingleByteKatakanaToDoubleByteHiragana = tmp End Function
プロシージャ名が無駄に長い。
まあ、いったん全角文字に変えてから、ひらがなに変換してreturnしているだけの簡単なFunction。
使ってみた
イミディエイト・ウインドウに
?convertSingleByteKatakanaToDoubleByteHiragana("フランシス・ブッフホルツ")
と入力して[Enter]!
ほれ、この通り。
おわりに
半角カタカナを全角カタカナに変換できるんなら、半角カタカナを直接全角ひらがなに変換できても良さそうなものだけれど、〈半角→全角〉、という処理と〈カタカナ→ひらがな〉という処理を分けておくことに意義があるのでしょうなあ。