こんにちは朱夏です。
今回は、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文でも書き方が結構違うものなんだなと感じました。
今回は以上です。
次回もよろしくお願いします。

