【VBScript】if文の使い方を調べてみた【初心者】

VBScript
スポンサーリンク

こんにちは朱夏です。

今回は、VBScriptのif文の使い方を調べました。
JavaScriptでも出て来ましたが、書き方が結構違いますね。

それではいってみましょう。

 

[もくじ]
if文の書き方
今回書いたサンプル
あとがき

 

if文の書き方

VBScriptのif文は、以下の様な書き方をする様です。

If 条件式 Then

  'ここに条件式に合った場合の処理を書く

Else

  'ここに条件式に合わない場合の処理を書く

End If

 

If 条件式 Then

条件分岐を使うためのIfを書いた後、分岐する条件を書きます。
最後にThenを付ける必要があるみたいです。

 

Else

条件に合わない場合の処理を書く前に書きます。

 

End If

条件分岐の構文の終わりに付けます。
If~End Ifまでが条件分岐のひと固まりとなります。

 

条件分岐の数を増やす場合
今回の例では2択ですが、分岐の数を3拓、4択と増やすことが出来ます。
その場合、2つ目の条件以降を”ElseIf 条件式 Then”でつなぎます。
全体を書くとこんな感じです。

If 条件式1 Then
  'ここに条件式1に合った場合の処理を書く
ElseIf 条件式2 Then
  'ここに条件式2に合った場合の処理を書く
Else
  'ここにどの条件にも合わなかった場合の処理を書く
End If

最後の「どの条件にも合わなかった場合」だけElseになるのでそこだけ注意ですね。

今回書いたサンプル

実際に書いてみたサンプルがこちらになります。

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

 

前回作成したログ吐き出し機能を流用してみました。

質問に対して正しいか間違っているかを条件分岐で切り分けて、それぞれメッセージを返しています。

実行した画面はこんな感じです。

正解パターン

 

不正解パターン

 

ログにはこんな感じで吐き出されるようにしました。

[2020/05/16 3:54:32] Script Start
[2020/05/16 3:54:39] Ans:東京
[2020/05/16 3:54:41] OK
[2020/05/16 3:54:41] Script Stop
[2020/05/16 3:54:46] Script Start
[2020/05/16 3:54:55] Ans:大阪
[2020/05/16 3:54:58] NG
[2020/05/16 3:54:58] Script Stop

 

入力された答えと、正解だったか間違いだったかの結果を記録する様にしました。
ちゃんと記録させることが出来ました。

 

あとがき

というわけで、VBScriptのIf文を使う方法を学習してみました。
今回のまとめはこちら。

  • If~End Ifでひと固まり
  • 条件式の後ろにはThenを付ける
  • 分岐を増やしたいときはElseIf 条件式 Then

 

JavaScriptと違って、条件式や処理を(~)や{~}などのかっこでくくらなかったり、Thenが必要だったりと、同じIf文でも書き方が結構違うものなんだなと感じました。

今回は以上です。
次回もよろしくお願いします。

 

タイトルとURLをコピーしました