在列表框中允许多个选择
以下示例使用 MultiSelect 和 Selected 属性来演示用户如何选择 ListBox 中的一个或多个项目。 用户通过选择选项按钮指定选择方法,然后从 ListBox 中选择项。 用户可以通过单击 CommandButton 显示第二个 ListBox 中的选定项。
若要使用本示例,请将此示例代码复制到窗体的"脚本编辑器"中。 若要运行本代码,需要打开该窗体,以便激活 Open 事件。 确保该窗体包含:
两个分别名为"ListBox1"和"ListBox2"的 ListBox 控件。
一个名为"CommandButton1"的 CommandButton 。
三个名称分别为"OptionButton1"到"OptionButton3"的 OptionButton 控件。
Sub CommandButton1_Click()
Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
Set ListBox2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox2")
ListBox2.Clear
For i = 0 To 9
If ListBox1.Selected(i) = True Then
ListBox2.AddItem ListBox1.List(i)
End If
Next
End Sub
Sub OptionButton1_Click()
Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
ListBox1.MultiSelect = 0 '0=fmMultiSelectSingle
End Sub
Sub OptionButton2_Click()
Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
ListBox1.MultiSelect = 1 '1=fmMultiSelectMulti
End Sub
Sub OptionButton3_Click()
Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
ListBox1.MultiSelect = 2 '2=fmMultiSelectExtended
End Sub
Sub Item_Open()
Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1")
Set OptionButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("OptionButton1")
Set OptionButton2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("OptionButton2")
Set OptionButton3 = Item.GetInspector.ModifiedFormPages("P.2").Controls("OptionButton3")
Set CommandButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("CommandButton1")
For i = 0 To 9
ListBox1.AddItem "Choice " & (ListBox1.ListCount + 1)
Next
OptionButton1.Caption = "Single Selection"
ListBox1.MultiSelect = 0 '0=fmMultiSelectSingle
OptionButton1.Value = True
OptionButton2.Caption = "Multiple Selection"
OptionButton3.Caption = "Extended Selection"
CommandButton1.Caption = "Show selections"
CommandButton1.AutoSize = True
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。