メッセージボックス(MsgBox)
メッセージボックス(MsgBox)は、よくマクロの実行前、実行後によく使用する関数ですが用途に応じて定数の組み合わせにより表示するボタンとアイコンを制御します。
構文 |
MsgBox (prompt, [ buttons, ] [ title, ]) |
prompt | メッセージボックスにメッセージとして表示される文字列を指定します |
buttons | 省略可能、表示させるボタンの種類、アイコンの表示を指定します |
title | 省略可能、メッセージボックスのタイトルバーに表示される文字列を指定します |
MsgBoxパラメータ一覧
値 | 定数 | ボタン・アイコン |
0 | vbOKOnly | [OK] |
1 | vbOKCancel | [OK] [キャンセル] |
2 | vbAbortRetryIgnore | [中止] [再試行] [無視] |
3 | vbYesNoCancel | [はい] [いいえ] [キャンセル] |
4 | vbYesNo | [はい] [いいえ] |
5 | vbRetryCancel | [再試行] [キャンセル] |
16 | vbCritical | [重大なメッセージ] アイコン |
32 | vbQuestion | [警告クエリ] アイコン |
48 | vbExclamation | [警告メッセージ] アイコン |
64 | vbInformation | [情報メッセージ] アイコン |
MsgBoxの戻り値一覧
値 | 定数 | ボタン |
1 | vbOK | OK |
2 | vbCancel | Cancel |
3 | vbAbort | 中止 |
4 | vbRetry | 再試行 |
5 | vbIgnore | 無視 |
6 | vbYes | はい |
7 | vbNo | いいえ |
以下、定数によるメッセージボックスの表示です。ボタンの定数とアイコンの定数を加算することによりメッセージボックスの表示を制御しています。また戻り値を定数により判定しています。
定数によるMsgBoxの表示
メッセージボックス | コード |
|
ret = msgbox("実行しました", vbOKOnly + vbInformation, "実行結果")
If ret = vbOK Then
msgbox ("OKがクリックされました")
End If
|
|
ret = msgbox("実行します。よろしいですか?", vbOKCancel + vbQuestion, "実行確認")
If ret = vbOK Then
msgbox ("OKがクリックされました")
ElseIf ret = vbCancel Then
msgbox ("キャンセルがクリックされました")
End If
|
|
ret = msgbox("実行します。よろしいですか?", vbYesNoCancel + vbQuestion, "実行確認")
If ret = vbYes Then
msgbox ("はいクリックされました")
ElseIf ret = vbNo Then
msgbox ("いいえがクリックされました")
ElseIf ret = vbCancel Then
msgbox ("キャンセルがクリックされました")
End If
|
|
ret = msgbox("エラーが発生しました", vbOKOnly + vbCritical, "実行結果")
If ret = vbOK Then
msgbox ("OKがクリックされました")
End If
|
|
ret = msgbox("値が入力されていません", vbOKOnly + vbExclamation, "入力確認")
If ret = vbOK Then
msgbox ("OKがクリックされました")
End If
|
以下、値によるメッセージボックスの表示です。ボタンの値とアイコンの値を加算することによりメッセージボックスの表示を制御しています。また戻り値を値により判定しています。
値によるMsgBoxの表示
メッセージボックス | コード |
|
ret = msgbox("実行しました", 0 + 64, "実行結果")
If ret = 1 Then
msgbox ("OKがクリックされました")
End If
|
|
ret = msgbox("実行します。よろしいですか?", 1 + 32, "実行確認")
If ret = 1 Then
msgbox ("OKがクリックされました")
ElseIf ret = 2 Then
msgbox ("キャンセルがクリックされました")
End If
|
|
ret = msgbox("実行します。よろしいですか?", 3 + 32, "実行確認")
If ret = 6 Then
msgbox ("はいクリックされました")
ElseIf ret = 7 Then
msgbox ("いいえがクリックされました")
ElseIf ret = 2 Then
msgbox ("キャンセルがクリックされました")
End If
|
|
ret = msgbox("エラーが発生しました", 0 + 16, "実行結果")
If ret = 1 Then
msgbox ("OKがクリックされました")
End If
|
|
ret = msgbox("エラーが発生しました", 0 + 48, "実行結果")
If ret = 1 Then
msgbox ("OKがクリックされました")
End If
|