vba - 如何循环并捕获访问列表框中的每个选定项目?
问题描述
我试图遍历一个多选列表框并将每个值传递给一个运行存储过程的函数,我只是不知道该怎么做。
这是我所拥有的:
Private Sub cmdBegin_Click()
Dim i As Integer
Dim selected(89) As String
Dim item As Variant
With Me.lstSmartSheet
For Each item In selected()
If Me.lstSmartSheet.selected(item) Then
Call DataExport(item)
Next
End With
End Sub
解决方案
您可以迭代ItemsSelected
属性,该属性是与列表框控件中选定的项目相对应的索引集合。
然后,您可以使用每个索引从ItemData
集合中获取适当的项目。
例如:
Private Sub cmdBegin_Click()
Dim i
With Me.lstSmartSheet
For Each i In .ItemsSelected
Call DataExport(.ItemData(i))
Next i
End With
End Sub
这里,在For Each
循环中,变量变量i
被连续地分配给所选项目的索引集合中的每个索引。
推荐阅读
- extjs - 在 Extjs 中获取音频和发音 word - word to Speech
- django - 如何使用 django rest swagger 在删除操作中显示序列化程序
- java - 我应该在请求中处理意外的 json 字段吗?
- reactjs - 是否可以使用 Graph Toolkit 2.0 在 Microsoft Teams 选项卡中进行静默身份验证
- ansible - Ansible 从变量列表创建目录
- android - 材料文本输入样式与阿拉伯语有问题
- android - Android studio - gradle 4.1.1 - minsdk 23:在 android 设备 6.0.1 上使用“vectorDrawables.useSupportLibrary”时出现异常
- c# - Hangfire 重复作业下一次执行时间为空
- c# - 从 API 获取的文件内容创建 pdf 或其他文件类型
- c# - Automapper:DTO 与 Array to List