- ベストアンサー
エクセル2000:phonetic関数で漢字がひらがなに変わらない
お世話になります。 エクセルでアクセス等からインポートした「漢字氏名」文字はphentic関数を使っても、ひらがな(カタカナ)には、直らないようです。 「ひらがな」もしくは「カタナカ」強制変換できる方法をお教えください。お願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 あまり口を出すつもりはなかったのですが、 GetPhonetic というのは、MS-IME のふり仮名候補の順番から引き出されるもので、GetPhoneticをそのまま使うと、MS-IMEの内部の順番の最初にあるものを出してきているに過ぎません。ただし、語の区切れの組み合わせによって、ふり仮名が変わる可能性があります。これは、MS-IMEを使用しているという条件が含まれています。 あまり、現実的なユーザー定義関数ではありませんが、#5さんの問題はこのようにすれば、解決できます。ただし、あまり、この種のユーザー定義関数は、必ず、貼り付けで、「値(定数)」に変えてしまったほうがよいかもしれません。 Function MyGetPhonetics(ByVal strText As String, Optional i As Integer = 0) Dim j As Integer Dim buf As String If Application.GetPhonetic(strText) = "" Or _ Not strText Like "*[一-龝]*" Then MyGetPhonetics = strText Exit Function End If buf = Application.GetPhonetic(strText) Do Until i = j Or Application.GetPhonetic(strText) = "" buf = Application.GetPhonetic("") j = j + 1 Loop MyGetPhonetics = buf End Function 濱口 優 =MyGetPhonetics(A1) とすれば、 ハマグチ ユウ =MyGetPhonetics(A1,1) と、第二引数に1を入れれば、 ハマグチ マサル となります。 ご参考まで。
その他の回答 (5)
- venzou
- ベストアンサー率71% (311/435)
再び失礼します。 私もGetPhoneticを試してみました。 成功例しか出ていないので、念のため失敗例も出しておきます。 山田 優 → ヤマダ ユウ 濱口 優 → ハマグチ ユウ (^^;正解はマサル 複数の読み方がある場合、失敗する可能性がありますので、 確認作業は必ず行ってくださいね。
お礼
なんどもご回答いただいたのに、お礼がおそくなりました。 申し訳ありません。 優しいご指導をありがとうございます。
- imogasi
- ベストアンサー率27% (4737/17069)
#1,#2のお答えともそうだと思いますが、 別の方法でできると思います。 下記はその実証のためのテストです。 メモ帳に 山田 三郎,34 近藤 義之,23 鈴木 健二,42 を入れました。 テキストで保存しました。 それをエクセルで開きました C1セルに=getphonetic(A1) と入れて、C3まで式を複写しました。 結果 山田 三郎 34 ヤマダ サブロウ 近藤 義之 23 コンドウ ヨシユキ 鈴木 健二 42 スズキ ケンジ ーー ただし下記のユーザー関数を定義してます。 ツールーマクローVBEの画面でメニューの挿入ー標準モジュールの 画面に Function getphonetic(a) getphonetic = Application.getphonetic(a) End Function を入れています。 ーーー エクセルのシートのセルで=getphonetic("山田 三郎")も ヤマダ サブロウと出ます ーー またメモ帳から、エクセルのシートのセルに、氏名をコピー張り付けしても、B1に=getphonetic(A1) でカタカナ名がB1に出ました。
お礼
お礼がおそくなりましてすみません。 申し訳ありません。 ありがとうございました!! マクロの可能性のすばらしさをまたしりました。
- venzou
- ベストアンサー率71% (311/435)
たびたび失礼します。 過去の質問を検索した所、良い回答がありました。 http://okwave.jp/qa1550074.html こちらの回答3が参考になると思います。
- venzou
- ベストアンサー率71% (311/435)
先ほどAccessの件でも回答しましたが、 Excelでも、後からふりがなは付けられません。 Excelに直接入力しなければ、ふりがなが保存されません。 どうしてもと言うなら、有料のソフトがあるみたいなので、 こういう物の利用を検討してみてください。 http://www.nihongolabo.jp/RubiFreenaQA.html
- suekun
- ベストアンサー率25% (369/1454)
エクセルがひらがな情報を持ってないからです。 他の文書とかからコピーしたりしたものに起きます。 日本語ソフトで変換したものにはひらがな情報がありますが、 そのまま漢字のままでコピペした物にはエクセルはひらがな情報を 持っていません。
お礼
お礼が遅くなりもうしわけありません。 まっさきにご回答いただいたのに、ずいぶん時間がたってしまいました。 ありがとうございました。
お礼
お礼がおそくなりましてすみません。 ありがとうございました!! マクロの可能性のすばらしさをまたしりました。