MsgBox †
簡単なメッセージ表示であれば、わざわざUserFormを作らなくてもメッセージボックス(MsgBox)が便利です。
- ) MsgBox関数の書式:
MsgBox(prompt[, buttons] [, title] [, helpfile, context]) As Integer
パラメータの意味:
パラメータ | データ型 | 説明 |
prompt | String | ダイアログ ボックス内に表示する文字列式を指定。注1 |
buttons | Long | 表示されるボタンの種類と個数、アイコンなどを表す値の合計値を指定 |
title | String | ダイアログ ボックスのタイトル バーに表示する文字列を指定 |
helpfile | String | ヘルプファイルを指定。通常エラー変数のErr.HelpFileを指定 |
context | Long | ヘルプ トピックに指定したコンテキスト番号を指定。通常エラー変数のErr.HelpContextを指定 |
注1:表示できる最大文字数は、1 バイト文字で約 1,024 文字です。複数行で表示したい場合は、Chr(13)(=CR)、Chr(10)(=LF)または(Chr(13) & Chr(10) (=CR &LF) で改行してください。
- ) Buttonの定数
以下で値が0のものがデフォルトです。つまり設定しなければ、
[OK] ボタンのみを表示し、第 1 ボタンがデフォルト(ボタンが1つだけですが)、アイコンなし、アプリケーション モーダルとなります。
定数 | 値 | 内容 |
ボタンの種類の定数 | | |
vbOKOnly | 0 | [OK] ボタンのみを表示します。 |
vbOKCancel | 1 | [OK] と [キャンセル] のボタンを表示します。 |
vbAbortRetryIgnore | 2 | [中止]、[再試行]、および [無視] のボタンを表示します。 |
vbYesNoCancel | 3 | [はい]、[いいえ]、および [キャンセル] のボタンを表示します。 |
vbYesNo | 4 | [はい] と [いいえ] のボタンを表示します。 |
vbRetryCancel | 5 | [再試行] と [キャンセル] のボタンを表示します。 |
vbMsgBoxHelpButton | 16384 | ヘルプ ボタンを追加します。 |
アイコンの種類の定数 | | 注2 |
| 0 | アイコンを表示しません。 |
vbCritical | 16 | 警告メッセージ アイコンを表示します。 |
vbQuestion | 32 | 問い合わせメッセージ アイコンを表示します。 |
vbExclamation | 48 | 注意メッセージ アイコンを表示します。 |
vbInformation | 64 | 情報メッセージ アイコンを表示します。 |
ボタンのデフォルト定数 | | 表示された時にカーソルのあるボタン位置。注3 |
vbDefaultButton1 | 0 | 第 1 ボタンをデフォルトとします。 |
vbDefaultButton2 | 256 | 第 2 ボタンをデフォルトとします。 |
vbDefaultButton3 | 512 | 第 3 ボタンをデフォルトとします。 |
vbDefaultButton4 | 768 | 第 4 ボタンをデフォルトとします。 |
その他の定数 | | |
vbApplicationModal | 0 | アプリケーション モーダルにし、Excelの操作をできなようにします。 |
vbSystemModal | 4096 | システム モーダルし、すべてのアプリケーションが操作できないようにします。 |
VbMsgBoxSetForeground | 65536 | 最前面のウィンドウとして表示します。 |
vbMsgBoxRight | 524288 | テキストを右寄せで表示します。 |
vbMsgBoxRtlReading | 1048576 | テキストを、右から左の方向で表示します。 |
注2:複数設定された場合は合計値のアイコンが表示され、合計値が一致しない場合は、アイコンが表示されません。
注3:複数設定された場合は合計値のボタンが表示され、合計値が一致しない場合は、第 1 ボタンがデフォルトになります。
- ) アイコンの例
定数をダイアログ ボックスのタイトルに表示しています。
- ) 戻り値
定数 | 値 | 説明 |
vbOK | 1 | OK |
vbCancel | 2 | キャンセル |
vbAbort | 3 | 中止 |
vbRetry | 4 | 再試行 |
vbIgnore | 5 | 無視 |
vbYes | 6 | はい |
vbNo | 7 | いいえ |
- ) 使用例
エラー処理での使用例 → example304
次のサンプルはOKとキャンセルのボタンを表示しその結果で処理を分けます。
Public Sub example1801()
Dim result As Integer
result = MsgBox("終了しますか?", _
vbQuestion + vbOKCancel + vbApplicationModal + vbDefaultButton1, _
"終了確認")
If result = vbOK Then
End
ElseIf result = vbCancel Then
'NOP
End If
End Sub