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

条件式を複数書く

今までは一つのif文には一つの条件式のみを書いてきました。

例:
str = InputBox("値を入力してください")
num = CInt(str)
if( num = 5 ) then
	MsgBox("あたりです")
end if

しかし、if文の条件式は複数同時に書くことが出来ます。
複数書いたときには、以下のどちらかのキーワードでつなげます。

or どちらかの条件式が正しい
and 両方の条件式が正しい

たとえば、入力した値が5か10なら「あたりです」と表示する場合には以下のように書きます。

例:
str = InputBox("値を入力してください")
num = CInt(str)
if( num = 5 or num = 10 ) then
	MsgBox("あたりです")
end if

if文の括弧の中には

num = 5 or num = 10

と二つの条件式を or でつなげています。


このように条件式をつなげることが出来るのです。
この例では、orという言葉でつなげています。orは左側の条件式と右側の条件式、どちらかが正しければ条件を満たしていると判断します。つまり、numが5 または numが10のときに条件が正しいと判断されます(orは「または」という意味です)。

orとは違って二つの条件式の両方を満たさなければならないのがandです。andの例を見てみましょう。

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

if( num > 5 and num < 10 ) then
	MsgBox("あたりです")
end if

if文の括弧の中には

num > 5 and num < 10

と今度は二つの条件式がandでつながっています。

numが5よりも大きく、かつnumが10よりも小さいときに正しいと判断されます。ですから、この場合、6,7,8,9を入力した場合に正しいとなって「あたりです」と表示されることになります。

条件式をこのようにつなげることは、いくつでも出来ます。括弧をつけることで優先順位をつけることも出来ます。たとえば、

if( (num > 5 and num < 10 ) or num = 12 ) then
	MsgBox("あたりです")
end if

と書いた場合、numが6,7,8,9または12のときに「あたりです」と表示されます。


問題6-6
キーボードから入力した値が3~8だったら「あたり」、そうでなかったら「はずれ」と表示しよう

問題6-7
キーボードから入力した値が100~200または300~400だったら「あたり」、そうでなかったら「はずれ」と表示しよう