在下拉式方塊中設定專案比對
下列範例會使用 MatchFound 和 MatchRequired 屬性來示範 ComboBox的其他字元比對。 比對驗證發生在 Change 事件中。
在本範例中,使用者指定 ComboBox 的文字框架是否必須符合 ComboBox 中列出的項目之一。 使用者可以使用 CheckBox 指定是否需要比對,然後輸入 ComboBox 以從其清單中指定專案。
若要使用本範例,請將此範例程式碼複製到表單的指令碼編輯器中。 若要執行該程式碼,您需要開啟該表單以啟動 Open 事件。 請確定表單包含:
一個名為 ComboBox1 的 ComboBox ,它結合到 Subject 欄位。
一個名為 CheckBox1 的 CheckBox 。
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 支援與意見反應。