前回
、仕様が決まったのでいよいよコーディングに移ります。その前にVBScriptの文法を完成させましょう。もちろんすべてを一度に理解するのは難しいので、基本的なレベルです。制御構文
プログラムは、もし制御構文がなければソースコードの上から順番に実行されます。しかし、普通のプログラムではまずそれで済むことはありません。「こういう条件の時だけ実行させたい」とか「条件によって動作を変えたい」ということはいくらでもあります。
例えば電卓にしても、「1のキーが押されたら何々をしたい」とか「+のキーが押されたらこうしたい」というふうに条件分けが必要です。
このように、上から順番に実行するはずのプログラミングの流れを「制御」するためのしくみが制御構文です。
言語によらず、制御構文には大きく分けて3つあります。
判断
判断とは、「もし〜ならば〜する」という条件で処理を分けることです。あまりいい例えではありませんが、60点以上ならば合格、60点未満ならば不合格というように条件ごとに処理を変える場合に使います。
VBScriptでは、
If 条件 Then 処理A Else 処理B
または、
If 条件 Then 処理A Else 処理B End If
のように書きます。条件にあう場合に処理Aを実行し、あわない場合に処理Bを実行します。上の例でいうと、
If nScore >= 60 Then strJudge = "合格" Else strJudge = "不合格" End If
のような感じです。複数の判定が必要な時は、ElseIfと記述することができます。
If nScore >= 60 Then strJudge = "A" ElseIf nScore >= 30 Then strJudge = "B" Else strJudge = "C" End If
また、条件にあわない時は何もしなくていいのであれば、Elseと処理Bはなくてもかまいません。
分岐
分岐は、ある物の状態によって処理を振り分けることを言います。
自動販売機を思い出してください。コーヒーのボタンが押されたらコーヒーを出して、オレンジジュースのボタンが押されたらジュースを出して、・・・という処理です。
VBScriptでは次のように書きます。
Select Case 数式 Case 条件A 処理A Case 条件B 処理B Case Else 処理その他 End Select
条件の数が多いときには、「Case 条件」を増やすことができます。Case Elseは、列挙したすべての条件にあわない時に実行されます。そのような処理が必要ない時は、Case Elseと処理その他はなくてもかまいません。
繰り返し
繰り返しは、決められた回数またはある条件が成立している間、同じ処理を繰り返すことを言います。
例えば、野球で9回が終わるまで攻撃と守備を繰り返すのと同じです。スポーツによっては、時計がある時間(制限時間)を過ぎるまでゲームが続くというものもありますが、これも一種の繰り返しと考えられます。
VBScriptでは、以下の繰り返し制御が可能です。
ある条件が成立している間繰り返す場合(1)
Do While 条件 処理 Loop
ある条件が成立している間繰り返す場合(2)
Do 処理 Loop While 条件
ある回数繰り返す場合
For 回数指定 To 上限 Step カウンタの幅 処理 Next
最初の二つの違いは、一番目の場合は条件によっては一度も処理を行わないことがあるのに対して、二番目の場合は必ず一度は処理を行う(始めから条件にあっていないとしても)ということです。Whileの代わりにUntilを使うと、ある条件が成立するまで(条件が成立しない間)繰り返すようにするできます。
回数指定の場合は、カウンタの幅が1ならばStep以降を省略できます。
例えば、このように記述します。
Do While nCount <= 10 処理 Loop Do 処理 Loop Until nCount > 10 For nCount = 1 To 10 Step 2 処理 Next
これで、VBScriptの基本的な文法は完成です。第3回、第4回と合わせて、もう一度復習してみてください。
次回は、ActiveX Control Padの操作方法を覚えることにします。
瀬尾佳隆 (webmaster@seosoft.net) |