Application.GetPhoneticが壊れた???
GetPhonetic関数がおかしい???
GetPhonetic関数の異状
Application.GetPhonetic関数は、2回目以降引数を省略すると、まだ返していないふりがな文字列を返すはず。
しかしながら、何か様子がおかしいのである。
たとえば、次のコード。
リスト1 標準モジュール
Public Sub testGetPhonetic() Debug.Print Application.GetPhonetic("馬") '……(1)' Debug.Print Application.GetPhonetic() '……(2)' End Sub
アホみたいなコードだけれど、これを実行すると、(1)を実行したとき(1回目)に「ウマ」が出て、(2)を実行したとき(2回目)に「マ」とかが出るはず。
だのに、なぜか今の私の環境だと
こうなる。
(2)のGetPhoneticが "" を返しているっぽい。これは、漢字を別のに変えても同じ。1つしかふりがなを返してくれない。
一応、Officeの修復もしてみたんだけれどダメ。いったい何が起きているんだろう???
追記
Dir関数で実験してみると、ちゃんと
Dir()
で次の返り値を返してくれている。マジでわけがわからないよ……orz
さらに追記
ちなみに、
Public Sub testGetPhonetic() Debug.Print Application.GetPhonetic("馬") Debug.Print Application.GetPhonetic() Debug.Print Application.GetPhonetic() Debug.Print Application.GetPhonetic() Debug.Print "***ち~んw***" End Sub
を実行すると、
こうなる。
やっぱり、2回目以降のGetPhonetic()は、空文字を返している。
ちなみに、最後に
Debug.Print Asc(Application.GetPhonetic())
を加えて実行すると、
となるので、本当に "" が返っているみたい。
なんでこうなってしまったんだーーー!