● 概要 ●
コンボボックスでは、LimitToListプロパティを設定することによって、リストにない値を入力できるかどうか制御できます。Trueに設定した場合、入力可、逆に、Falseに設定した場合、入力不可となります。
次のコードは、フォームを読み込むときに、3つのコンボボックスのLimitToListプロパティを設定するものです。
● サンプル1 ●
Private Sub Form_Load()
'入力チェックを行わない
コンボ1.LimitToList = False
'入力チェックを行う
コンボ2.LimitToList = True
'入力チェックを行わない
コンボ3.LimitToList = False
End Sub
コンボ1とコンボ3には、リストにない値を入力できますが、コンボ2にリストにない値を入力して確定しようとすると、エラーメッセージが表示されます。
● サンプル2 ●
DropDownメソッドを使用すると、コンボボックスをドロップダウン表示します。
コンボボックスのEnterイベントプロシージャでDropDownメソッドを使用すれば、[Tab]キーを押すなどしてフォーカスがコンボボックスに移動したときに、自動的にドロップダウン表示させることができます。
Private Sub コンボ2_Enter()
'自動的にドロップダウン表示する
コンボ2.Dropdown
End Sub
● サンプル3 ●
コンボボックスに入力された値は、TextプロパティかValueプロパティで取得します。
Textプロパティは、現在の入力値を示します。Valueプロパティは、保存されている値を示します。
コンボボックスに入力中は、TextプロパティとValueプロパティの値が異なることもあり得ます。
次のコードは、コンボ3のChangeイベントプロシージャで、TextプロパティとValueプロパティの値を取得するものです。
なお、Textプロパティは、コントロールにフォーカスがあるとき取得できます。
Private Sub コンボ3_Change()
MsgBox "Text : " & コンボ3.Text & vbCr & _
"Value: " & コンボ3.Value
End Sub