Excel VBA(マクロ)で文字列のふりがなを取得する方法/GetPhoneticメソッドの使い方

japanese-food IT

GetPhoneticは、()内で指定した文字列のふりがなを取得するメソッドです。Applicationを頭に付けないと動かないので注意。

スポンサーリンク

成果物

GetPhoneticメソッドの使い方

ふりがなの取得
Application.GetPhonetic(文字列)
getphonetic1
これらの文字列のふりがなをB列に出力してみます。
getphonetic2
最初に出力したい対象、その後にふりがなを抽出したい文字列を書きます。
Range(“B1”).Value = Application.GetPhonetic(Range(“A1”).Value)としてやれば、
getphonetic3
B1セルに対してA1のふりがなが表示されます。デフォルトでふりがなは全角カタカナとなります。
getphonetic4
ちなみにこの場合、Valueはなくても動きます(Range(“B1”) = Application.GetPhonetic(Range(“A1”)))。
getphonetic5
では、A列のふりがなをすべて抽出します。
For nextを使い、For i = 1 To 5の後にCells(i, 2) = Application.GetPhonetic(Cells(i, 1))を実行すると、
getphonetic6
A列のふりがなが、すべてB列に出力されました。
getphonetic11
ちなみに対応するふりがながない場合はそのまま返されます。

文字種の変更

文字種の変更
StrConv(文字列,文字種コード,LocalID)
※LocalIDは省略可。ここでは説明を省略する。
getphonetic7
文字種を変更するには、ふりがな部分(GetPhonetic~)をStrConv関数で包み、
getphonetic8
最後に文字種を定数で追加します。ふりがなだとCells(i, 2) = StrConv(Application.GetPhonetic(Cells(i, 1)), vbHiragana)のようになります。
getphonetic9
実行結果です。
getphonetic10
最後のvbHiraganavbNarrowに変えてやれば、半角カタカナで出力されます。
' vba
For i = 1 To 5
' 半角カタカナでA列のふりがなをB列に出力
Cells(i, 2) = StrConv(Application.GetPhonetic(Cells(i, 1)), vbNarrow)
Next

関連記事

やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント