vbScript - 将Select / Case与数组一起使用

时间:2015-04-14 19:12:09

标签: vbscript

我需要以下方面的帮助:

Dim reportesTA(2)
reportesTA(0) = "Report1"
reportesTA(1) = "Report2"

我想为数组列表中的每个项执行某些操作。所以我在考虑使用Select / Case。我尝试了这个但是没有用:

Select Case reportesTA
Case 0
//do stuff
Case 1
//do stuff
End Select

有没有办法让案件切换?像开关/箱子的东西?任何人都有更好的方法来处理数组的每个项目?非常感谢。

2 个答案:

答案 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