VBSプログラミング最初の一歩 VBScript

ifをつなげる

いくつかのif文を連結させることで、さらに複雑な条件分岐が出来るようになります。
たとえば、入力した数が90以上だったら「レベルA」、50以上90未満だったら「レベルB」、50未満なら「レベルC」と表示するようにしてみましょう。

str = InputBox("値を入力してください")
num = CInt(str)

if( num >= 90 ) then
    MsgBox "レベルA"
elseif( num >= 50 ) then
    MsgBox "レベルB"
else
    MsgBox "レベルC"
end if



最初のif文で90以上かどうかを判断し、90以上なら「レベルA」と表示しています。

そうでない場合、つまり90未満のときにその下の「elseif」と書かれたところの条件を判断します。
numが50以上かどうかを調べ50以上なら「レベルB」と表示します。numが90未満のときにしかこの条件は判断しません。だから90未満で50以上の時に「レベルB」と表示されます。

このようにelseifをif文の後に書くことでif文を連続させることが出来ます。elseifは何個も続けることが出来ます。

50以上でもないときには最後のelse文の命令を実行します。このようにelseifで連続する条件式のどれにも当てはまらないときには最後のelseを実行するわけです。

結果、以下のような表示になります。

90以上:レベルA
50以上90未満:レベルB
50未満:レベルC

このようにelseifでいくつもif文をつなげていくことが出来るわけです。

☆if文の書き方3
if (条件式1) then
    条件式1が正しいときの命令
elseif (条件式2) then
    条件式1が正しくなくて条件式2が正しいときの命令
elseif (条件式3) then
    条件式1,2ともに正しくなくて条件式3が正しいときの命令
else
    条件式1,2,3がすべて正しくないときの命令
end if

間違いやすい点:elseifのelseとifの間に空白を入れないようにしてください。else ifではだめです。elseif と連続して書きます。

問題6-5
年齢を入力し、入力された年齢が20才以上であれば「お酒が飲めます」と「免許が取れます」、18才以上20才未満の時は「免許が取れます」、18才未満の時は「未成年です」と表示しよう。