テキストボックスに入力された振り仮名を取得するにはGetPhonetic
メソッドを用います
例えばユーザフォーム上で氏名入力を行う際に読み仮名の入力を省略する
ような場合、テキストボックスのChangeイベントやExitイベントで
Application.GetPhonetic(テキスト)・・・とします。
実行にはユーザフォームに・・・
TextBox1 - 文字入力用
TextBox2 - 振り仮名表示用
を貼り付け、フォームモジュールに書きコードを記述します。
'========テキストボックスExitイベント========
Private Sub TextBox1_Exit _
(ByVal Cancel As MSForms.ReturnBoolean)
TextBox2.Value = Application.GetPhonetic(TextBox1.Value)
End Sub
(読み仮名候補がいくつもある場合)
上のサンプルでは望むような振り仮名がうまく表示されるとは限りませ
ん。ここではコマンドボタンを使って候補を切替える方法を考えます。
なお、切替えの際には変換が初回であるか否かを記憶させておく必要が
ありますので、テキストボックスのTagプロパティーを使っています。
さらにコマンドボタンを1つ貼り付けてクリックイベントに下記サンプル
を記述してください。
Private Sub CommandButton1_Click()
Dim strTemp As String
If TextBox2.Tag = "" Then
TextBox2.Value = _
Application.GetPhonetic(TextBox1.Value)
TextBox2.Tag = 1
Else
strTemp = Application.GetPhonetic() ' 引数省略
If strTemp <> "" Then
TextBox2.Value = strTemp
Else '振り仮名候補がない場合初期状態に戻す
TextBox2.Tag = ""
TextBox2.Value = ""
End If
End If
End Sub
|