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

例外

例外の種類

エラー番号

状態

ArgumentException

5

Prompt が文字列型 (String) の式でないか、Title が無効です。

InvalidOperationException

5

プロセスがユーザー対話モードで動作していません。

InvalidEnumArgumentException

5

MsgBoxResult 列挙型または MsgBoxStyle 列挙型のメンバでないパラメータが含まれています。

非構造化エラー処理を使用する Visual Basic 6.0 アプリケーションをアップグレードする場合は、"エラー番号" の列を参照してください(エラー番号を Number プロパティ (Err オブジェクト) と比較することもできます)。ただし、可能であれば、このようなエラー制御は Visual Basic の構造化例外処理の概要 に置き換えることを検討してください。

解説

[キャンセル] ボタンが表示されているダイアログ ボックスでは、Esc キーを押すと、[キャンセル] をクリックしたときと同じ結果になります。ダイアログ ボックスに [ヘルプ] ボタンが表示されているとき、そのダイアログ ボックスには状況依存のヘルプが設定されています。ただし、[ヘルプ] ボタン以外のボタンがクリックされるまでは、値を返しません。

139z2azd.alert_note(ja-jp,VS.90).gifメモ :

Prompt 以外の引数も指定する場合は、式の中で MsgBox 関数を使用する必要があります。引数を省略する場合も、それに対応する位置にコンマ区切り記号は残します。

139z2azd.alert_note(ja-jp,VS.90).gifメモ :

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)

参照

参照

InputBox 関数 (Visual Basic)