第6回 - VBScriptの文法 (Part 3)

[ 目次へ | 第5回へ | 第7回へ ]

今回の目標
VBScriptの文法を、コーディングに必要なレベルまで理解します。
今回は主に制御構文についてです。

前回、仕様が決まったのでいよいよコーディングに移ります。その前にVBScriptの文法を完成させましょう。もちろんすべてを一度に理解するのは難しいので、基本的なレベルです。
第3回第4回でも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の操作方法を覚えることにします。

[ 目次へ | 第5回へ | 第7回へ ]


メール 瀬尾佳隆 (webmaster@seosoft.net)