MsgBox 関数 (Visual Basic)
更新 : 2007 年 11 月
ダイアログ ボックスにメッセージを表示します。ボタンがクリックされるのを待って、どのボタンがクリックされたのかを示す、整数型 (Integer) の値を返します。
Public Function MsgBox( _
ByVal Prompt As Object, _
Optional ByVal Buttons As MsgBoxStyle = MsgBoxStyle.OKOnly, _
Optional ByVal Title As Object = Nothing _
) As MsgBoxResult
パラメータ
Prompt
必ず指定します。ダイアログ ボックス内にメッセージとして表示する文字列 (String) 式を指定します。Prompt に指定できる最大文字数は、1 バイト文字で約 1,024 文字です。ただし、使用する文字の文字幅に依存します。Prompt を複数行で構成する場合は、各行をキャリッジ リターン文字 (Chr(13))、ライン フィード文字 (Chr(10))、またはキャリッジ リターン文字とライン フィード文字の組み合わせ (Chr(13) & Chr(10)) を使って区切ります。Buttons
省略可能です。表示されるボタンの種類と個数、使用するアイコンのスタイル、標準ボタン、メッセージ ボックスがモーダルかどうかなど、それらを表す値の合計値を示す数式を指定します。Buttons を省略すると、既定値は 0 になります。Title
省略可能です。ダイアログ ボックスのタイトル バーに表示する文字列 (String) 式を指定します。Title を省略すると、タイトル バーにはアプリケーション名が表示されます。
設定
MsgBoxStyle 列挙型の値を次の表に示します。
メンバ |
値 |
説明 |
---|---|---|
OKOnly |
0 |
[OK] ボタンのみを表示します。 |
OKCancel |
1 |
[OK] ボタンと [キャンセル] ボタンを表示します。 |
AbortRetryIgnore |
2 |
[中止]、[再試行]、および [無視] の 3 つのボタンを表示します。 |
YesNoCancel |
3 |
[はい]、[いいえ]、および [キャンセル] の 3 つのボタンを表示します。 |
YesNo |
4 |
[はい] ボタンと [いいえ] ボタンを表示します。 |
RetryCancel |
5 |
[再試行] ボタンと [キャンセル] ボタンを表示します。 |
Critical |
16 |
警告メッセージ アイコンを表示します。 |
Question |
32 |
問い合わせメッセージ アイコンを表示します。 |
Exclamation |
48 |
注意メッセージ アイコンを表示します。 |
Information |
64 |
情報メッセージ アイコンを表示します。 |
DefaultButton1 |
0 |
第 1 ボタンを標準ボタンにします。 |
DefaultButton2 |
256 |
第 2 ボタンを標準ボタンにします。 |
DefaultButton3 |
512 |
第 3 ボタンを標準ボタンにします。 |
ApplicationModal |
0 |
アプリケーションをモーダルに設定します。メッセージ ボックスに応答するまで、現在選択中のアプリケーションの実行を継続できません。 |
SystemModal |
4096 |
システムをモーダルに設定します。メッセージ ボックスに応答するまで、すべてのアプリケーションが中断されます。 |
MsgBoxSetForeground |
65536 |
最前面のウィンドウとして表示します。 |
MsgBoxRight |
524288 |
テキストを右寄せで表示します。 |
MsgBoxRtlReading |
1048576 |
ヘブライ語やアラビア語のシステムの場合、テキストを右から左の方向で表示します。 |
最初の値のグループ (0–5) には、ダイアログ ボックスに表示されるボタンの数と種類が定義されています。2 番目のグループ (16, 32, 48, 64) には、アイコンのスタイルが定義されています。3 番目のグループ (0, 256, 512) は、どれが既定のボタンかを決定します。4 番目のグループ (0, 4096) はメッセージ ボックスがモーダルかどうかを決定し、5 番目のグループはメッセージ ボックス ウィンドウが画面の手前に表示されるかどうか、またテキストの配置や方向などを指定します。引数 Buttons の値を設定するには、各グループから値を 1 つずつ選択して加算した合計値を指定します。
戻り値
定数 |
値 |
---|---|
OK |
1 |
Cancel |
2 |
Abort |
3 |
Retry |
4 |
Ignore |
5 |
Yes |
6 |
No |
7 |
例外
例外の種類 |
エラー番号 |
状態 |
---|---|---|
Prompt が文字列型 (String) の式でないか、Title が無効です。 |
||
プロセスがユーザー対話モードで動作していません。 |
||
MsgBoxResult 列挙型または MsgBoxStyle 列挙型のメンバでないパラメータが含まれています。 |
非構造化エラー処理を使用する Visual Basic 6.0 アプリケーションをアップグレードする場合は、"エラー番号" の列を参照してください(エラー番号を Number プロパティ (Err オブジェクト) と比較することもできます)。ただし、可能であれば、このようなエラー制御は Visual Basic の構造化例外処理の概要 に置き換えることを検討してください。
解説
[キャンセル] ボタンが表示されているダイアログ ボックスでは、Esc キーを押すと、[キャンセル] をクリックしたときと同じ結果になります。ダイアログ ボックスに [ヘルプ] ボタンが表示されているとき、そのダイアログ ボックスには状況依存のヘルプが設定されています。ただし、[ヘルプ] ボタン以外のボタンがクリックされるまでは、値を返しません。
メモ : |
---|
Prompt 以外の引数も指定する場合は、式の中で MsgBox 関数を使用する必要があります。引数を省略する場合も、それに対応する位置にコンマ区切り記号は残します。 |
メモ : |
---|
MsgBox 関数には SafeTopLevelWindows レベルの UIPermission が必要です。ただし、部分的に信頼されている状況でこの許可を使用すると、プログラムの実行に影響を及ぼす場合があります。詳細については、「アクセス許可の要求」および「UIPermission」を参照してください。 |
使用例
次の例は、MsgBox 関数を使って、致命的なエラーが発生したときのエラー メッセージをダイアログ ボックスに表示します。このダイアログ ボックスには、[はい] と [いいえ] があり、[いいえ] が既定のボタンとして指定されています。これを実現するには MsgBox 定数の複数の値を 1 つの数式に設定します。この場合、4 ([はい]/[いいえ] ボタンの組み合わせ) と 16 ([警告メッセージ] ウィンドウ) と 256 (既定ボタンが第 2 ボタン) を足すと、合計 276 になります。MsgBox 関数の返す値は、ユーザーが選択したボタンによって決まります。つまり、[はい] を選択すると 6、[いいえ] を選択すると 7 が返されます。
Dim msg As String
Dim title As String
Dim style As MsgBoxStyle
Dim response As MsgBoxResult
msg = "Do you want to continue?" ' Define message.
style = MsgBoxStyle.DefaultButton2 Or _
MsgBoxStyle.Critical Or MsgBoxStyle.YesNo
title = "MsgBox Demonstration" ' Define title.
' Display message.
response = MsgBox(msg, style, title)
If response = MsgBoxResult.Yes Then ' User chose Yes.
' Perform some action.
Else
' Perform some other action.
End If
必要条件
名前空間 : Microsoft.VisualBasic
モジュール : Interaction
アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)