#518 | 指定文字数キーインで自動的にフォーカス移動させるには? | フォーム、VBA | |
テキストボックスにデータを入力する際には、通常はEnterキーやTabキーもしくは他のコントロールをクリックするなどしてそのテキストボックスへの入力値を確定する必要があります。 また定型入力プロパティを設定することでテキストボックスへの入力文字数を制限することはできますが、その文字数分入力してもフォーカスは次のコントロールへ移動まではしてくれません。 そこでここでは、テキストボックスの「Change/変更時イベント」と「Textプロパティ」を使って、指定文字数キーインされたら自動的に次のコントロールにフォーカス移動させる方法を例示します。 「Change/変更時イベント」はテキストボックスに対して何らかの変更が1文字でも行われたら発生するイベントです。つまり1文字キーインするたびに発生するので、そのタイミングによって指定文字数がキーインされたかどうかを判別することができます。 また「Textプロパティ」によって現在入力中の文字列全体を取得することができます(Valueプロパティは入力確定後の値しか取得できないのでここでは使えません)。この長さを調べることで、指定文字数分キーインされたかどうかを判別することができます。 次の例では、テキストボックス「IPアドレス1」に3文字入力されたら「IPアドレス2」のコントロールにフォーカスを移動しています。 コード例: Private Sub IPアドレス1_Change() If Len(Me!IPアドレス1.Text) = 3 Then Me!IPアドレス2.SetFocus End If End Sub 実行例: 3文字入力後自動的に次のコントロールにフォーカス移動しています。Enterキーなどは使っていません。 |
|||
|
Copyright © T'sWare All rights reserved |