即効テクニック |
セルに日本語を入力すると「ふりがな」が自動的に設定されます。セルのふりがなを表示するには、メニューから[書式]-[ふりがな]-[表示/非表示]を実行します。 また、セルに設定されているふりがなはPHONETIC関数で表示することも可能です。 セルに自動設定されるふりがなは、正確には「キーボードから入力した日本語変換前の文字列」です。したがって、もし"田中"を"でんちゅう"と入力して漢字に変換した場合、設定されるふりがなも"でんちゅう"になります。 セルにふりがなを設定するマクロは、マクロ記録で調べることができます。 次のマクロは、アクティブセルに"田中"と入力した操作をマクロ記録したものです。Sub Sample1() Selection.FormulaR1C1 = "田中" Selection.Characters(1, 2).PhoneticCharacters = "タナカ" End Subふりがながカタカナで設定されたのは、[ふりがなの設定]ダイアログボックスで[全角カタカナ]が選択されているからです。この設定を[ひらがな]にすれば、ひらがなのふりがながマクロ記録されます。 さて、セルのふりがなは「キーボードから入力した日本語変換前の文字列」ですが、VBAには漢字の読みを調べる機能もあります。こちらはキーボードから入力される文字に関係なく、純粋に漢字の読みを調べる機能です。 漢字の読みを取得するには、ApplicationオブジェクトのGetPhoneticメソッドを実行します。次のマクロは、"田中"のふりがな(読み)を表示します。Sub Sample2() MsgBox Application.GetPhonetic("田中") End SubGetPhoneticメソッドは、常にカタカナの読みを返します。ひらがなに変換したいときはStrConv関数を使いましょう。次のマクロは"田中"のふりがな(読み)をひらがなで表示します。Sub Sample3() MsgBox StrConv(Application.GetPhonetic("田中"), vbHiragana) End SubGetPhoneticメソッドは日本語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 SubGetPhoneticメソッドはセルを必要としませんので、UserFormなどでも使えて便利です。 ●補足● GetPhoneticメソッドはExcel 2000で追加されたメソッドですので、Excel 97では使用できません。