1

私はいくつかのvbsコードを書いていますが、CSVファイルの1つをループしながら、の乱数を渡せるようにしたいのですWAIT SECONDSが、これまでのところ、これがあります。

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

何が起こるかというと、これは最初のインスタンスに対して1つの番号を作成するだけで、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

しかし、それでも正しく機能していません。私が間違っていることについて誰かにアドバイスしてもらえますか?

4

1 に答える 1

1

2 番目の例は、おそらく 2 つの理由で機能しません。

  1. 毎回同じ乱数を使用しています。
  2. これで、iimPLAY を以前の 2 倍の回数呼び出すことができます。

元のコードを次のように変更します。

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
于 2012-01-20T01:11:49.563 に答える