嵌套循环,VBS和随机数

时间:2012-01-10 08:51:17

标签: loops random vbscript nested imacros

我正在编写一些vbs代码,我希望能够为WAIT SECONDS传递一个随机数,同时循环访问我的一个CSV文件,到目前为止我已经有了这个

Dim rn
rn = 50 + cint(rnd()*11)
iret = iim1.iimSet("mynumber", Cstr(rn)) 

dim intLoop
intLoop = 1
Do Until intLoop = 28
   i = iim1.iimSET("line", CStr(intLoop))
   i = iim1.iimPLAY(mypath & "deletemelater2.iim")
   intLoop = intLoop + 1
Loop

这只会为第一个实例创建一个数字,然后intLoop的下一个循环不会收到任何数字,我相信这需要一个嵌套循环但不知道如何继续,如果有人可以提供帮助那么感激!!,

我现在有了这个,

Dim rn
rn = 50 + cint(rnd()*11)
iret = iim1.iimSet("line2", Cstr(rn)) 

dim intLoop, outLoop
intLoop = 1
outLoop = 1
Do Until intLoop = 28 AND outLoop = 28
   i = iim1.iimSET("line", CStr(intLoop))
   i = iim1.iimPLAY(mypath & "deletemelater2.iim")
   intLoop = intLoop + 1
   rn = iim1.iimSET("line2", CStr(rn))
   rn = iim1.iimPLAY(mypath & "deletemelater2.iim")
   outLoop = outLoop + 1

但它仍然无法正常工作,任何人都可以告诉我我做错了什么吗?

1 个答案:

答案 0 :(得分:1)

你的第二个例子可能有两个原因无效。

  1. 每次使用相同的随机数。
  2. 您现在拨打iimPLAY的次数是以前的两倍。
  3. 我会按如下方式更改原始代码:

    Dim rn
    dim intLoop
    
    For intLoop = 1 to 27
       rn = 50 + cint(rnd()*11)
       iret = iim1.iimSet("mynumber", Cstr(rn)) 
       i = iim1.iimSET("line", CStr(intLoop))
       i = iim1.iimPLAY(mypath & "deletemelater2.iim")
    Next