VBA開発

ふりがなを作成する(SetPhoneticメソッド)【VBA入門】

SetPhoneticメソッドは、指定した範囲の文字列フリガナを作成します。

メソッド説明

SetPhoneticメソッドの構文は以下のように記載します。

 
Object.SetPhonetic
 

引数はありません。Object(Range)範囲の文字列に「フリガナ」を振ります。

注意点

SetPhoneticはIME(Input Method Editor)を利用して、「ふりがな」を作成しています。
その為、必ず求めている振り仮名になるとは限りません。

使い方サンプル

Public Sub Call_Sample_SetPhonetic()
    
    '■複数の範囲のフリガナを作成
    Range("A1:A20").SetPhonetic
    
    '■A1の「大阪府」の読み仮名を作成
    Range("A1").Value = "大阪府"
    Range("A1").SetPhonetic 'フリガナ(オオサカフ)
    
    '■B1にA1のフリガナ(オオサカフ)を入れる
    Range("B1").Value = Range("A1").Phonetic.Text
    
    '■全角カナで「フリガナ」を表示→「オオサカフ」
    MsgBox Range("A1").Phonetic.Text
    
    '■半角カナで「フリガナ」を表示→「オオサカフ」
    MsgBox StrConv(Range("A1").Phonetic.Text, vbNarrow)
    
    '■全角ひらがなで「ふりがな」を表示→「おおさかふ」
    MsgBox StrConv(Range("A1").Phonetic.Text, vbHiragana)

    '■半角カナで左端から4文字のみ「フリガナ」を抽出表示→「オオサカ」
    MsgBox Left(StrConv(Range("A1").Phonetic.Text, vbNarrow), 4)
End Sub

※StrConv関数はこちらの記事を参照。

どういった時に使う?

システム移行の際、商品マスタや顧客マスタを移行する時によく使用します。
システム上、検索項目として「フリガナ」があった場合、フリガナが有力な検索キーになるかもしれません。

前述に記載している通り、フリガナ作成はIMEを利用している為、注意が必要です。
・商品マスタはある程度、正しいフリガナとなります。
・顧客マスタは100%合うことはありません。(人名読みはIMEで一括置換はつらいものがあります。)

コメント

タイトルとURLをコピーしました