MsgBox 関数

ダイアログ ボックスにメッセージを表示し、ユーザーがボタンをクリックするのを待機し、ユーザーがどのボタンをクリックしたかを示す整数を返します。

注:

複数のプラットフォーム間で Office エクスペリエンスを拡張するソリューションを開発することに関心がありますか? 新しい Office アドイン モデルを参照してください。 Office アドインは、VSTO アドインやソリューションに比べてフットプリントが小さく、HTML5、JavaScript、CSS3、XML などのほぼすべてのWeb プログラミング テクノロジーを使用して構築できます。

構文

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

MsgBox 関数の構文には、次の名前付き引数があります。

指定項目 説明
Prompt 必須です。 ダイアログ ボックスにメッセージとして表示される文字列式です。 使用する文字の幅により、prompt は最大で約 1024 文字使用できます。 prompt が複数の行にまたがる場合、行と行の間にキャリッジ リターン文字 (Chr(13))、ライン フィード文字 (Chr(10))、またはキャリッジ リターン文字とライン フィード文字の組み合わせ (Chr(13) & Chr(10)) を使用して行を分けることができます。
buttons 省略可能。 表示させるボタンの数と種類を指定する値、使用するアイコンのスタイル、既定のボタンの ID、およびメッセージ ボックスのモダリティの組み合わせを表す数値式です。 省略された場合、buttons の既定値は 0 です。
title 省略可能。 ダイアログ ボックスのタイトル バーに表示される文字列式です。 title が省略された場合、タイトル バーにはアプリケーションの名前が表示されます。
helpfile 省略可能。 ダイアログ ボックスに状況依存のヘルプを提供するときに使用するヘルプ ファイルを識別する文字列式です。 helpfile を指定する場合は、context も必ず指定する必要があります。
context 省略可能。 ヘルプ作成者によって適切なヘルプ トピックに割り当てられたヘルプ コンテキスト番号を示す数式です。 context を指定する場合は、helpfile も必ず指定する必要があります。

設定

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 ヘブライ語とアラビア語のシステムでテキストが右から左に読む形式で表示されるように指定します。

最初の値のグループ (0-5) はダイアログ ボックスに表示されるボタンの数と種類を示します。2 番目のグループ (16、32、48、64) はアイコンのスタイルを示します。3 番目のグループ (0、256、512) は既定のボタンを決定します。4 番目のグループ (0、4096) は、メッセージ ボックスのモダリティを決定します。 それぞれの値を組み合わせて buttons 引数の最終的な値を作成する際は、各グループから値を 1 つだけ使用します。

注:

これらの定数は、VbMsgBoxStyle 列挙型の Visual Basic for Applications によって指定されます。 そのため、これらの名前は、実際の値の代わりにコードのどの部分でも使用できます。

戻り値

戻り値は VbMsgBoxResult 列挙型で定義されます。

定数 説明
vbOK 1 OK
vbCancel 2 Cancel
vbAbort 3 中止
vbRetry 4 再試行
vbIgnore 5 無視
vbYes 6 はい
vbNo 7 いいえ

解説

helpfilecontext の両方を指定した場合、ユーザーは F1 キー (Windowsの場合) または HELP キー (Macintosh) を押して context に対応するヘルプ トピックを表示できます。 Microsoft Excel などの一部のホスト アプリケーションでは、ダイアログ ボックスに [ヘルプ] ボタンが自動的に追加されます。

ダイアログ ボックスに [キャンセル] ボタンが表示されている場合、ESC キーを押すと [キャンセル] ボタンをクリックするのと同じ効果があります。 ダイアログ ボックスに [ヘルプ] ボタンが含まれている場合、ダイアログ ボックスで状況依存のヘルプが提供されています。 ただし、他のいずれかのボタンをクリックするまで値は返されません。

注:

1 番目の名前付き引数以外にも因数を指定する場合は、内で MsgBox を使用する必要があります。 一部の場所引数を省略するには、対応するコンマ区切り記号を含める必要があります。

この例では、 MsgBox 関数を使用して、[はい] ボタンと [いいえ] ボタンが含まれるダイアログ ボックスで重大なエラーのメッセージを表示させます。 [いいえ] ボタンは既定の応答として指定されています。 MsgBox 関数によって返される値は、ユーザーが選択したボタンに依存します。 この例では、DEMO.HLP は、ヘルプ コンテキスト番号が 1000 のトピックを含むヘルプ ファイルであると仮定されています。

Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "Do you want to continue ?"    ' Define message.
Style = vbYesNo Or vbCritical Or vbDefaultButton2    ' Define buttons.
Title = "MsgBox Demonstration"    ' Define title.
Help = "DEMO.HLP"    ' Define Help file.
Ctxt = 1000    ' Define topic context. 
        ' Display message.
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then    ' User chose Yes.
    MyString = "Yes"    ' Perform some action.
Else    ' User chose No.
    MyString = "No"    ' Perform some action.
End If

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。