VBA(Visual Basic Application)とVBScriptはよく似ていので、VBAの経験があればVBScriptはそれほど苦労せずに書くことができます。
ですが、別の言語ですから違いは当然あり、些細なことでVBA経験者がつまずくこともあります。
その一つが
「VBScriptでVBAのExit Sub的なコードはどう書けばいいのか」
です。
VBAのExit Sub
VBAの場合、以下のようなExit Subステートメントを使って、処理を途中で終了することができます。
Dim ret As VbMsgBoxResult
ret = MsgBox("処理を続けますか?", vbYesNo + vbDefaultButton2)
If ret = vbNo Then
MsgBox "「いいえ」が押されたので処理を終了します。"
Exit Sub ''◆ここで処理を抜ける
Else
MsgBox "「はい」が押されました。"
End If
MsgBox "これはIf文のあとに書かれているMsgBoxです。"
これと同じつもりで以下のようなVBScriptを書いても、
Option Explicit Dim ret ret = MsgBox("処理を続けますか?", vbYesNo + vbDefaultButton2) If ret = vbNo Then MsgBox "「いいえ」が押されたので処理を終了します。" Exit Sub Else MsgBox "「はい」が押されました。" End If MsgBox "これはIf文のあとに書かれているMsgBoxです。"
以下のようなコンパイルエラーが発生してしまいます。
エラー: 不正な 'exit' ステートメントです。 コード: 800A040F ソース: Microsoft VBScript コンパイル エラー
VBScriptで途中で処理を抜けるには
VBScriptで途中で処理を抜けるには、以下のようにWScript.Quitメソッドを使ってください。
Dim ret
ret = MsgBox("処理を続けますか?", vbYesNo + vbDefaultButton2)
If ret = vbNo Then
MsgBox "「いいえ」が押されたので処理を終了します。"
WScript.Quit ''◆ここで処理を抜ける
Else
MsgBox "「はい」が押されました。"
End If
- Newer:Photoshopのショートカットキー一覧を出力する機能
- Older:VBScriptの関数一覧
Home » WSH・Windows Script Hostの使い方 » VBScriptでVBAのExit Subのように処理を途中で抜けるには-WScript.Quit