Microsoft Access 掲示板

ひらがなのローマ字変換

2 コメント
views
4 フォロー

どなたかお知恵を貸していただけると助かります。
フォーム上に 会社名 ふりがな ローマ字名 フィールドがあります。
会社名→ひらがな は問題ないのですが、ふりがな→ヘボン式ローマ字に変換する方法はありますか??
いろいろ調べてみてVBAを使うしかないことは分かったのですが
当方VBAに関しては初心者故、大変困っております(T_T) (Access2013です)

ゆか
作成: 2019/04/18 (木) 11:48:09
通報 ...
1
よし 2019/04/18 (木) 15:16:00 08b1f@139cc

手っ取り早く、と言うか力業なんですが、replace関数でちまちまと置き換えていくのはどうでしょうか。
ヘボン式の変換表は外務省のサイトにありました。
https://www.ezairyu.mofa.go.jp/passport/hebon.html

フォーム上にコマンドボタンを配置して、コマンドボタンのクリック時イベントに以下のコードを貼り付けて下さい。
(Private Sub から End Sub)の間

コマンドボタンが押されたら、[ローマ字名]テキストボックスの値にヘボン式ローマ字表記が入ると思います。

    '文字列の変数を宣言  
    Dim strRome As String

    '[ふりがな]テキストボックスの値を変数に代入
    strRome = Me!ふりがな

    'strConv関数を使って、カタカナに変換
    strRome = StrConv(strRome, vbKatakana)

    'Replace関数を使って、該当する部分を変換
    '拗音を変換
    strRome = Replace(strRome, "キャ", "KYA")
    strRome = Replace(strRome, "キュ", "KYU")
    strRome = Replace(strRome, "キョ", "KYO")
    '※一部省略

    '濁音、半濁音を変換
    strRome = Replace(strRome, "ガ", "GA")
    strRome = Replace(strRome, "ギ", "GI")
    strRome = Replace(strRome, "グ", "GU")
    strRome = Replace(strRome, "ゲ", "GE")
    strRome = Replace(strRome, "ゴ", "GO")
    '※一部省略

    '静音を変換
    strRome = Replace(strRome, "ア", "A")
    strRome = Replace(strRome, "イ", "I")
    strRome = Replace(strRome, "ウ", "U")
    strRome = Replace(strRome, "エ", "E")
    strRome = Replace(strRome, "オ", "O")
    '※一部省略

    '[ローマ字]テキストボックスに値を書き込む
    Me!ローマ字 = strRome

2
ゆか 2019/04/18 (木) 15:30:57 1588e@cae34

よし 様

とても分かりやすく教えてくださってありがとうございます!!
早速試してみましたらばっちりでした(嬉)!!
本当に助かりました(T_T)