こんにちは朱夏です。
今回は、VBScriptのif文の使い方を調べました。
JavaScriptでも出て来ましたが、書き方が結構違いますね。
それではいってみましょう。
[もくじ]
if文の書き方
今回書いたサンプル
あとがき
if文の書き方
今回書いたサンプル
あとがき
if文の書き方
VBScriptのif文は、以下の様な書き方をする様です。
If 条件式 Then 'ここに条件式に合った場合の処理を書く Else 'ここに条件式に合わない場合の処理を書く End If
If 条件式 Then
条件分岐を使うためのIfを書いた後、分岐する条件を書きます。
最後にThenを付ける必要があるみたいです。
Else
条件に合わない場合の処理を書く前に書きます。
End If
条件分岐の構文の終わりに付けます。
If~End Ifまでが条件分岐のひと固まりとなります。
今回書いたサンプル
実際に書いてみたサンプルがこちらになります。
Option Explicit Dim strLogFile, objFSO, strLogMsg, objFile strLogFile = "F:\vbs学習\20200515\log\sample.log" Set objFSO = CreateObject("Scripting.FileSystemObject") strLogMsg = "Script Start" : LogWrite(strLogMsg) Dim x x = InputBox("日本の首都はどこでしょう?") strLogMsg = "Ans:" & x : LogWrite(strLogMsg) If x = "東京" Then msgbox "正解です。" strLogMsg = "OK" : LogWrite(strLogMsg) Else msgbox "残念!" & vbCrLf & "正解は「東京」です。" strLogMsg = "NG" : LogWrite(strLogMsg) End If strLogMsg = "Script Stop" : LogWrite(strLogMsg) WScript.Quit '**************************************************** 'ログ書き込み処理 '**************************************************** Function LogWrite(strMsg) strMsg = "[" & FormatDateTime(Now, 0) & "]" & Space(1) & strMsg Set objFile = objFSO.OpenTextFile(strLogFile,8,True,0) objFile.WriteLine strMsg objFile.Close LogWrite =0 End Function
前回作成したログ吐き出し機能を流用してみました。
質問に対して正しいか間違っているかを条件分岐で切り分けて、それぞれメッセージを返しています。
実行した画面はこんな感じです。
正解パターン
不正解パターン
ログにはこんな感じで吐き出されるようにしました。
入力された答えと、正解だったか間違いだったかの結果を記録する様にしました。
ちゃんと記録させることが出来ました。
あとがき
というわけで、VBScriptのIf文を使う方法を学習してみました。
今回のまとめはこちら。
- If~End Ifでひと固まり
- 条件式の後ろにはThenを付ける
- 分岐を増やしたいときはElseIf 条件式 Then
JavaScriptと違って、条件式や処理を(~)や{~}などのかっこでくくらなかったり、Thenが必要だったりと、同じIf文でも書き方が結構違うものなんだなと感じました。
今回は以上です。
次回もよろしくお願いします。