共用方式為


在下拉式方塊中設定專案比對

下列範例會使用 MatchFoundMatchRequired 屬性來示範 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 支援與意見反應