メイン画像

VBScript - メッセージボックスを表示する(MsgBox 関数)

VBScript - メッセージボックスを表示する(MsgBox 関数)


VBScript でメッセージボックスを表示するにはMsgBox関数を使います。

スクリプトを WScript.exe/CScript.exe のどちらで実行してもメッセージボックスが表示されます。

使い方

MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])

引数

prompt
表示するメッセージ
メッセージはCR、LF、CR+LFのいずれかを使って改行できる。
buttons
ボタンの種類、アイコンの種類、既定のボタン、メッセージボックスのモダリティの組み合わせを指定する。
ボタンの種類
定数 説明
vbOKOnly 0 [OK] ボタンのみを表示します。
vbOKCancel 1 [OK]、[キャンセル] ボタンを表示します。
vbAbortRetryIgnore 2 [中止]、[再試行]、[無視] の各ボタンを表示します。
vbYesNoCancel 3 [はい]、[いいえ]、[キャンセル] の各ボタンを表示します。
vbYesNo 4 [はい]、[いいえ] ボタンを表示します。
vbRetryCancel 5 [再試行]、[キャンセル] ボタンを表示します。
アイコンの種類
定数 説明
vbCritical 16 [重大なメッセージ] アイコンを表示します。
vbQuestion 32 [警告クエリ] アイコンを表示します。
vbExclamation 48 [警告メッセージ] アイコンを表示します。
vbInformation 64 [情報メッセージ] アイコンを表示します。
既定のボタン
定数 説明
vbDefaultButton1 0 1 番目のボタンを既定にします。
vbDefaultButton2 256 2 番目のボタンを既定にします。
vbDefaultButton3 512 3 番目のボタンを既定にします。
vbDefaultButton4 768 4 番目のボタンを既定にします。
メッセージボックスのモダリティ
定数 説明
vbApplicationModal 0 アプリケーション モーダル。現在のアプリケーションでの作業を続行するには、ユーザーはメッセージ ボックスに応答する必要があります。
vbSystemModal 4096 システム モーダル。ユーザーがメッセージ ボックスに応答するまで、すべてのアプリケーションが中断します。
vbMsgBoxHelpButton 16384 メッセージ ボックスに [ヘルプ] ボタンを追加します。
vbMsgBoxSetForeground 65536 [メッセージ ボックス] ウィンドウを前景ウィンドウとして指定します。
vbMsgBoxRight 524288 テキストを右揃えにします。
vbMsgBoxRtlReading 1048576 ヘブライ語とアラビア語のシステムでテキストが右から左に読む形式で表示されるように指定します。

*VBScriptではvbMsgBoxSetForegroundを指定しても、最前面に固定されませんでした。

title
タイトルバーに表示する文字列
helpfile
ヘルプファイルを識別する文字列
これを指定した場合、context も必ず指定する。
context
ヘルプコンテキスト番号

helpfilecontextは、VBScriptでは設定しても意味がないかもしれません。
ヘルプボタンを押しても何も表示されませんでした。

戻り値

押されたボタンを表す整数
定数 説明
vbOK 1 OK
vbCancel 2 Cancel
vbAbort 3 中止
vbRetry 4 再試行
vbIgnore 5 無視
vbYes 6 はい
vbNo 7 いいえ

使用例

「Hello World!」を表示する。

MsgBox "Hello World!"

確認メッセージを表示する。
ボタンは「はい」と「いいえ」で、「いいえ」を既定にする。

Dim ret
ret = MsgBox("登録します。よろしいですか?", _
             vbYesNo + vbQuestion + vbDefaultButton2, _
             "確認")

If ret = vbYes Then
    // TODO: はいクリック時の処理を書く
ElseIf ret = vbNo Then
    // TODO: いいえクリック時の処理を書く
End If

0除算エラーの内容を表示する。

On Error Resume Next
Dim val
val = 100 / 0

MsgBox "Error # " & CStr(Err.Number) & " was generated by " & _
           Err.Source & vbLf & vbLf & _
           Err.Description, _
       vbMsgBoxHelpButton, _
       "Error!", _
       Err.Helpfile, _
       Err.HelpContext

NOTE: ヘルプボタンを押したらスクリプトが異常終了した。原因不明。


アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事