プログラムでは便利な繰り返し構文forですが、
これも色々と仕様があったりします。
for
[変数]=[開始値] to [終了値] (step [増加値])
[構文]
next
が、forの書き方ですが、
VBとは違い、必ず[開始値]よりも[終了値]
が大きい数値でなければなりません。
開始値・終了値・増加値には小数点以下を含む実数も指定できます。
また、
for
i = a to b step c
などと変数でも指定できます。
for文は、
最初[変数]が[開始値]で初期化され、
[終了値]を「超えるまで」[増加値]を加算しながら繰り返す
という物です。例を挙げて説明しましょう。
for i = 0.5 to 3 Step
1.5
msgbox(i)
next
この場合、
1回目:iは[開始値]の0.5で初期化される。
msgbox(i)のiは0.5なので0.5がメッセージとして出力される。
2回目:iに[増加値]の1.5を加算する
msgbox(i)のiは2なので2がメッセージとして出力される。
3回目:iに[増加値]の1.5を加算する
この時点でiは3.5となり[終了値]の3を超えているのでfor文を抜けnextの次の構文から実行される。
となります。
終了値と変数の値が同じ場合は処理は行われます。
step
1
は省略できます。
また、
for i = 0.5 to 3 Step 1.5
([構文])
for j = 0.5 to 3
Step
1.5
[構文]
next
([構文])
next
などとforの中にforを入れる事ができますが、(この場合二重ループと呼ぶ)
指定する変数が同じだと思った結果が得られないので
多重ループを使っていて思った結果が得られない時は指定している変数が同じでないか確認しましょう。
(プログラムの考え方の上であえて同じ変数を利用する場合もあります。)
※ちなみに・・・
VB6でStep0をやると完全にフリーズして固まりますが(Windows自体はXPであれば一応無事です。)
VBSの場合VBS実行用のプログラム上でVBSは動いているためstep
0をやっても動作は不安定になりにくいです。
でもやっぱり影響はあるのでstep
0やっちゃった場合は対処しましょう。
普通の人が組むVBS程度でOSが完全に壊れる事はなく、
こういうミスは勉強になるのでどんどんとミスして学んで行きましょう。