• ベストアンサー

エクセル2000:phonetic関数で漢字がひらがなに変わらない

お世話になります。 エクセルでアクセス等からインポートした「漢字氏名」文字はphentic関数を使っても、ひらがな(カタカナ)には、直らないようです。 「ひらがな」もしくは「カタナカ」強制変換できる方法をお教えください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.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を入れれば、 ハマグチ マサル となります。 ご参考まで。

yastaro
質問者

お礼

お礼がおそくなりましてすみません。 ありがとうございました!! マクロの可能性のすばらしさをまたしりました。

その他の回答 (5)

  • venzou
  • ベストアンサー率71% (311/435)
回答No.5

再び失礼します。 私もGetPhoneticを試してみました。 成功例しか出ていないので、念のため失敗例も出しておきます。 山田 優 → ヤマダ ユウ 濱口 優 → ハマグチ ユウ (^^;正解はマサル 複数の読み方がある場合、失敗する可能性がありますので、 確認作業は必ず行ってくださいね。

yastaro
質問者

お礼

なんどもご回答いただいたのに、お礼がおそくなりました。 申し訳ありません。 優しいご指導をありがとうございます。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

#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に出ました。

yastaro
質問者

お礼

お礼がおそくなりましてすみません。 申し訳ありません。 ありがとうございました!! マクロの可能性のすばらしさをまたしりました。

  • venzou
  • ベストアンサー率71% (311/435)
回答No.3

たびたび失礼します。 過去の質問を検索した所、良い回答がありました。 http://okwave.jp/qa1550074.html こちらの回答3が参考になると思います。

  • venzou
  • ベストアンサー率71% (311/435)
回答No.2

先ほどAccessの件でも回答しましたが、 Excelでも、後からふりがなは付けられません。 Excelに直接入力しなければ、ふりがなが保存されません。 どうしてもと言うなら、有料のソフトがあるみたいなので、 こういう物の利用を検討してみてください。 http://www.nihongolabo.jp/RubiFreenaQA.html

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.1

エクセルがひらがな情報を持ってないからです。 他の文書とかからコピーしたりしたものに起きます。 日本語ソフトで変換したものにはひらがな情報がありますが、 そのまま漢字のままでコピペした物にはエクセルはひらがな情報を 持っていません。

yastaro
質問者

お礼

お礼が遅くなりもうしわけありません。 まっさきにご回答いただいたのに、ずいぶん時間がたってしまいました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう