VBS(5) 条件判断 (if 文)
メニューに戻りたいときはここをクリック。
前回までに VBS で データを表示する方法、ユーザに入力をさせる方法、for next
文を使って繰り返し処理を行う方法を学んだ。今回はデータによって異なる動作をさせたいときのやり方を学ぶ。
Lesson 1 (if 文の例)
手順
- スタートメニューから Z:ドライブ(個人用)を開く
- 既に作成した、vbsというフォルダーを選択
- メニューから「ファイル → 新規作成 → テキストドキュメント」とする。
- 「新規テキストドキュメント.txt(拡張子が表示されていること!)」というファイルが作成されるので、保存したい名前に変更する。今回は
vbs0501.vbs という名前に変更する。
「拡張子を変更すると、ファイルが使えなくなる可能性があります。変更しますか?」と聞かれるのが「はい(Y)」と答えて良い。
- 今作成した vbs0501.vbs をデスクトップのメモ帳にドラッグ&ドロップする。
- メモ帳が開いて編集できるようになったら、以下のように入力
you=inputbox("あなたのお名前はなんですか","質問")
if you="" then you="「名無しの権兵衛」"
msgbox "こんにちは、" & you & "さん。お元気ですか?",,"ご挨拶"
- 「ファイル -> 上書き保存」として保存する。メモ帳は閉じてかまわない。
- 保存された vbs0501.vbs をダブルクリックして実行する。
- 間違いがあれば、 vbs0501.vbs をデスクトップのメモ帳にドラッグ&ドロップして編集しなおして、保存する。保存後に、もう一度
vbs0501.vbs をダブルクリックして実行してみること。
解説
- 1行目でユーザに名前を尋ねて、ユーザが入力した答えを変数 you に代入している。
- 2行目の if 文が条件判断を行っている。if 文は
if 条件式
then 実行文
という形式で書く。
if
you="" then you="「名無しの権兵衛」"
という文は、you
が空っぽであるならば、youに"「名無しの権兵衛」"を代入するという意味である。
- 条件式のなかのイコールは代入ではなく、比較である。 例えば、 if x=2 then x=5 という文は、 もし
x が 2 なら x に 5 を代入することになる。
- 3行目では、"こんにちは、"という文字列と you という変数と
"さん。お元気ですか?"という文字列を連結して表示する。ウィンドウのタイトルにはご挨拶と表示する。
Lesson 2 (if 文の例 その2)
手順
- スタートメニューから Z:ドライブ(個人用)を開く
- 既に作成した、vbsというフォルダーを選択
- メニューから「ファイル → 新規作成 → テキストドキュメント」とする。
- 「新規テキストドキュメント.txt(拡張子が表示されていること!)」というファイルが作成されるので、保存したい名前に変更する。今回は
vbs0502.vbs という名前に変更する。
「拡張子を変更すると、ファイルが使えなくなる可能性があります。変更しますか?」と聞かれるのが「はい(Y)」と答えて良い。
- 今作成した vbs0502.vbs をデスクトップのメモ帳にドラッグ&ドロップする。
- メモ帳が開いて編集できるようになったら、以下のように入力
x=inputbox("2+5= ?","問題")
if x=7 then
y="正解です (^_^)v"
else
y="小学校に戻って、まじめにお勉強しましょう。"
end if
msgbox y,, "判定"
- 「ファイル -> 上書き保存」として保存する。メモ帳は閉じてかまわない。
- 保存された vbs0502.vbs をダブルクリックして実行する。
- 間違いがあれば、 vbs0502.vbs をデスクトップのメモ帳にドラッグ&ドロップして編集しなおして、保存する。保存後に、もう一度
vbs0502.vbs をダブルクリックして実行してみること。
解説
if文の第2の形式は
if 条件式 then
条件が成立したときの実行文(2行以上あっても良い。)
else
条件が成立しなかったときの実行文(2行以上あっても良い。)
end if
である。
- 1行目によって、変数 x に 2+5=? に対するユーザの答えが代入される。
- 2行目以降の if 文で正解の場合と不正解の場合にそれぞれにふさわしい文字列を y に代入している。
- 最後の行は結果を表示している。
問題
「何円持っている?」と尋ねて、答えが10000以上なら「○○円とは、なかなか金持ちですね。」と表示し、それ以外なら「○○円ですか。わかりました。」と表示するプログラムを作れ。(○○のところはユーザが入力した金額を表示すること。)
質問のウィンドウのタイトルには「所持金調査」、結果のウィンドウのタイトルには「おこたえ」と表示すること。
完成したプログラムは vbs05-2-10-11-yourname.vbs
(クラス番号名前は各自のものにせよ)という名前で保存して提出せよ。
ヒント
x が 10000 以上という条件は x>=10000
と書く。
憶えましたか
- if 文の使い方がわかりますか?
- 1+2+3+...+10=?
という問題を出して、ユーザの答えが正解なら「君は賢い」、不正解なら「あなたは馬鹿ですか?」と表示するプログラムを書けますか?
メニューに戻る
前 VBS(4) 第3回までの復習
次 VBS(6) 配列変数
第1回〜第10回の問題の回答
姉妹サイト
古代ローマ (ローマ帝国 の歴史とコイン)