Установка сопоставления записей в поле со списком
В следующем примере свойства MatchFound и MatchRequired используются для демонстрации дополнительного сопоставления символов для ComboBox. Проверка соответствия выполняется в событии Change .
В этом примере пользователь указывает, должна ли текстовая часть ComboBox соответствовать одному из указанных элементов в ComboBox. Пользователь может указать, требуется ли сопоставление, с помощью checkBox , а затем ввести в comboBox , чтобы указать элемент из списка.
Чтобы использовать этот пример, скопируйте пример кода в редактор скриптов формы. Чтобы запустить код, необходимо открыть форму, чтобы активировать событие Open . Убедитесь, что эта форма содержит:
Объект ComboBox с именем ComboBox1, привязанный к полю Subject.
Элемент 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 и обратная связь.