次の例では、 MatchFound プロパティと MatchRequired プロパティを使用して 、ComboBox の追加の文字マッチングを示します。 マッチングが確定すると、Change イベントが発生します。
この例では、ComboBox の文字列部分が、ComboBox にリストされたアイテムのどれか 1 つと一致する必要があるかどうかを指定します。 ユーザーは、 CheckBox を使用して照合が必要かどうかを指定し、 ComboBox に入力してそのリストから項目を指定できます。
この例を利用するには、次のコード例をフォームのスクリプト エディターにコピーします。 コードを実行するには、 Open イベントが生じるようにフォームを開く必要があります。 フォームには次のコントロールが含まれている必要があります。
"件名" フィールドにバインドしたコンボ ボックス ( ComboBox ) コントロール (ComboBox1)
チェック ボックス ( CheckBox ) コントロール (CheckBox1)
Sub CheckBox1_Click()
Set ComboBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ComboBox1")
Set CheckBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("CheckBox1")
If CheckBox1.Value = True Then
ComboBox1.MatchRequired = True
MsgBox "To move the focus from the ComboBox, you must match an entry in the list or press ESC."
Else
ComboBox1.MatchRequired = False
MsgBox " To move the focus from the ComboBox, just tab to or click another control. Matching is optional."
End If
End Sub
Sub Item_PropertyChange(byval pname)
if pname = "Subject" then
Set ComboBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ComboBox1")
If ComboBox1.MatchRequired = True Then
'MSForms handles this case automatically
Else
If ComboBox1.MatchFound = True Then
MsgBox "Match Found; matching optional."
Else
MsgBox "Match not Found; matching optional."
End If
End If
end if
End Sub
Sub Item_Open()
Set ComboBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ComboBox1")
Set CheckBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("CheckBox1")
For i = 1 To 9
ComboBox1.AddItem "Choice " & i
Next
ComboBox1.AddItem "Chocoholic"
CheckBox1.Caption = "MatchRequired"
CheckBox1.Value = True
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。