プロが教えるわが家の防犯対策術!

お世話になります。
エクセルでアクセス等からインポートした「漢字氏名」文字はphentic関数を使っても、ひらがな(カタカナ)には、直らないようです。

「ひらがな」もしくは「カタナカ」強制変換できる方法をお教えください。お願いします。

A 回答 (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を入れれば、

ハマグチ マサル

となります。

ご参考まで。
    • good
    • 2
この回答へのお礼

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

お礼日時:2007/11/06 06:54

再び失礼します。



私もGetPhoneticを試してみました。

成功例しか出ていないので、念のため失敗例も出しておきます。

山田 優 → ヤマダ ユウ
濱口 優 → ハマグチ ユウ (^^;正解はマサル

複数の読み方がある場合、失敗する可能性がありますので、
確認作業は必ず行ってくださいね。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/11/06 06:56

#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に出ました。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/11/06 06:56

たびたび失礼します。



過去の質問を検索した所、良い回答がありました。
http://okwave.jp/qa1550074.html

こちらの回答3が参考になると思います。
    • good
    • 0

先ほどAccessの件でも回答しましたが、


Excelでも、後からふりがなは付けられません。

Excelに直接入力しなければ、ふりがなが保存されません。

どうしてもと言うなら、有料のソフトがあるみたいなので、
こういう物の利用を検討してみてください。
http://www.nihongolabo.jp/RubiFreenaQA.html
    • good
    • 0

エクセルがひらがな情報を持ってないからです。



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

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

お礼日時:2007/11/06 06:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!