如何确定列表框控件中选定的项


这篇文章的 Microsoft Word 98 Macintosh 版本版本,请参阅201669

概要


本指南介绍了如何检索所选的项目
使您可以选择多个值的列表框控件。

详细信息


Microsoft 提供的编程示例仅用于说明,没有任何明示或暗示的担保。这包括但不限于适销性或特定用途适用性的暗示担保。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 的支持工程师可以帮助解释某个特定过程的功能,但是他们不会修改这些示例以提供额外的功能或构建过程以满足您的特定要求。

用户窗体,当多重选择属性设为1-fmMultiSelectMulti对于列表框控件,您可以任意数量的项目从列表中选择。例如,如果列表包含星期几 (星期日、 星期一、 星期二、 星期三、 星期四、 星期五和星期六),您可以选择任何、 任何或所有物料。

若要确定选定的项,可以使用列表框中的所选属性。列表框中的所选属性是一个数组值的其中的每个值是,则返回 True (如果该项目处于选中状态) 或False (如果尚未选中项)。

例如,如果列表中包含的周星期日,星期二,在七天,星期六选定所选属性数组将包含下列值︰
真、 假、 真、 假、 假、 假、 真
由于选定的第一个项目 (星期日),未选中 (星期一) 的第二项、 选择第三个项 (星期二)、 第四到第六个项目 (星期三、 星期四和星期五) 都未选中,,选择的第七项 (星期六) 也是如此。

Visual Basic 过程示例

下面的宏代码提供了两种方法可以使用列表框中的所选的数据。第一种方法使用一次选择一项和第二种方法生成的所有选定项的列表。

注意:创建用户窗体在 Visual Basic 编辑器中的这些步骤假定您有了解 Visual Basic for Applications、 Microsoft Word 和 Microsoft 窗体的设计和工具。
  1. 启动 Visual Basic 编辑器中。若要执行此操作,请按 ALT + F11。
  2. 如果属性对话框中不可见,请在视图菜单上单击属性
  3. 如果在项目资源管理器窗口中不可见,请单击
    视图菜单上的项目资源管理器中。
  4. 插入菜单上,单击
    用户窗体
  5. 单击列表框控件
    控件工具箱中,然后将它拖到用户窗体
  6. 属性 ListBox1窗口变为1-fmMultiSelectMulti多重选择属性。
  7. 在单击该命令按钮控件
    控件工具箱,,再拖动它到用户窗体放入CommandButton1控制在用户窗体上。
  8. 重复第 7 步以放置第二个
    用户窗体上的命令按钮。这将使
    CommandButton2 用户窗体上的控件。
  9. 双击用户窗体显示用户窗体代码窗口。
  10. 请按 PAGE DOWN,然后键入下面的宏代码为Userform_InitializeCommandButton_Click事件︰
Private Sub UserForm_Initialize()
'Creates and assigns the Array to the ListBox when the form loads.
Dim mylist As Variant

mylist = Array("Sunday", "Monday", "Tuesday", "Wednesday", _
"Thursday", "Friday", "Saturday")
ListBox1.List = mylist

End Sub

Private Sub CommandButton1_Click()

'First Method: Displays individual selections one at a time.
For x = 0 To ListBox1.ListCount - 1

If ListBox1.Selected(x) = True Then
MsgBox ListBox1.List(x)
End If

Next x
Unload Me

End Sub

Private Sub CommandButton2_Click()

'Second Method: Displays all the items in one message box
Dim msg As String

For x = 0 To ListBox1.ListCount - 1

If ListBox1.Selected(x) = True Then
msg = msg & ListBox1.List(x) & vbCrLf
End If

Next x
MsgBox "You have selected " & vbCrLf & msg
Unload Me

'Uncomment the following two line to insert the variable
'into a document.
'Documents.Add
'Selection.TypeText Text:= msg

End Sub