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 つだけ使用します。

注意

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

戻り値

定数 説明
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 + vbCritical + 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 のサポートおよびフィードバックを参照してください。