我需要以下方面的帮助:
Dim reportesTA(2)
reportesTA(0) = "Report1"
reportesTA(1) = "Report2"
我想为数组列表中的每个项执行某些操作。所以我在考虑使用Select / Case。我尝试了这个但是没有用:
Select Case reportesTA
Case 0
//do stuff
Case 1
//do stuff
End Select
有没有办法让案件切换?像开关/箱子的东西?任何人都有更好的方法来处理数组的每个项目?非常感谢。
答案 0 :(得分:0)
Dim reportesTA(2)
reportesTA(0) = "Report1"
reportesTA(1) = "Report2"
For I = LBound(reportesTA) to UBound(reportesTA)
Select Case reportesTA(I)
Case "Report1"
MsgBox "Report1"
Case "Report2"
MsgBox "Report2"
End Select
Next
说明:
In" FOR"循环我们遍历数组中的所有元素,从第一个元素开始到最后一个元素。
功能" LBound"返回数组中可用元素的最低ID。
功能" UBound"返回数组中可用元素的最高ID。
In" SELECT CASE"我们从数组中获取元素的值(是的,它有字符串类型)然后决定我们应该做什么 - 在这个示例中我们弹出显示报告名称的消息框。
答案 1 :(得分:0)
您需要使用数组元素而不是数组本身来选择案例。
我会这样做,更清楚你在做什么,更干。
reportesTA = Array("Report1", "Report2")
Sub do_stuff(text)
WScript.echo text
End Sub
For each element in reportesTA
Select Case element
Case "Report1"
do_stuff "Report1"
Case "Report2"
do_stuff "Report2"
End Select
Next
在此示例中,您宁愿执行以下操作
For each element in reportesTA
do_stuff element
Next