セルに日本語を入力すると「ふりがな」が自動的に設定されます。セルのふりがなを表示するには、メニューから[書式]-[ふりがな]-[表示/非表示]を実行します。
また、セルに設定されているふりがなはPHONETIC関数で表示することも可能です。
セルに自動設定されるふりがなは、正確には「キーボードから入力した日本語変換前の文字列」です。したがって、もし"田中"を"でんちゅう"と入力して漢字に変換した場合、設定されるふりがなも"でんちゅう"になります。
セルにふりがなを設定するマクロは、マクロ記録で調べることができます。
次のマクロは、アクティブセルに"田中"と入力した操作をマクロ記録したものです。
Sub Sample1()
Selection.FormulaR1C1 = "田中"
Selection.Characters(1, 2).PhoneticCharacters = "タナカ"
End Sub
ふりがながカタカナで設定されたのは、[ふりがなの設定]ダイアログボックスで[全角カタカナ]が選択されているからです。この設定を[ひらがな]にすれば、ひらがなのふりがながマクロ記録されます。
さて、セルのふりがなは「キーボードから入力した日本語変換前の文字列」ですが、VBAには漢字の読みを調べる機能もあります。こちらはキーボードから入力される文字に関係なく、純粋に漢字の読みを調べる機能です。
漢字の読みを取得するには、ApplicationオブジェクトのGetPhoneticメソッドを実行します。次のマクロは、"田中"のふりがな(読み)を表示します。
Sub Sample2()
MsgBox Application.GetPhonetic("田中")
End Sub
GetPhoneticメソッドは、常にカタカナの読みを返します。ひらがなに変換したいときはStrConv関数を使いましょう。次のマクロは"田中"のふりがな(読み)をひらがなで表示します。
Sub Sample3()
MsgBox StrConv(Application.GetPhonetic("田中"), vbHiragana)
End Sub
GetPhoneticメソッドは日本語IMEの機能を使って漢字の読みを取得します。
パソコンに日本語IMEがインストールされていなかったり、Officeの言語設定で日本語が選択されていないと使用できません。
GetPhoneticメソッドにはおもしろい機能があります。一般的に日本語の漢字には複数の読みが存在しますが、GetPhoneticメソッドはすべての読みを取得することができるのです。
使い方はDir関数と同じで、引数の文字列を省略してGetPhoneticメソッドを実行すると、前回指定された文字列の読みを返します。すべての読みを取得すると最後に空欄を返します。次のマクロは、"亨"の読みをすべて取得して表示します。
Sub Sample4()
Dim buf As String, msg As String
buf = Application.GetPhonetic("亨")
Do While buf <> ""
msg = msg & buf & vbCrLf
buf = Application.GetPhonetic()
Loop
MsgBox msg
End Sub
GetPhoneticメソッドはセルを必要としませんので、UserFormなどでも使えて便利です。
●補足●
GetPhoneticメソッドはExcel 2000で追加されたメソッドですので、Excel 97では使用できません。