MsgBox 関数MsgBox function

ダイアログ ボックスにメッセージを表示し、ユーザーがボタンをクリックするのを待機し、ユーザーがどのボタンをクリックしたかを示す整数を返します。Displays a message in a dialog box, waits for the user to click a button, and returns an Integer indicating which button the user clicked.


複数のプラットフォーム間で Office エクスペリエンスを拡張するソリューションを開発することに関心がありますか?Interested in developing solutions that extend the Office experience across multiple platforms? 新しい Office アドイン モデルを参照してください。Check out the new Office Add-ins model. Office アドインには、VSTO アドインおよびソリューションと比較して、小さな設置面積があります。 HTML5、JavaScript、CSS3、XML など、ほぼすべての web プログラミングテクノロジを使用して構築できます。Office Add-ins have a small footprint compared to VSTO Add-ins and solutions, and you can build them by using almost any web programming technology, such as HTML5, JavaScript, CSS3, and XML.


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

MsgBox 関数の構文には、次の名前付き引数があります。The MsgBox function syntax has these named arguments:

指定項目Part 説明Description
Promptprompt 必須です。Required. ダイアログ ボックスにメッセージとして表示される文字列式です。String expression displayed as the message in the dialog box. 使用する文字の幅により、prompt は最大で約 1024 文字使用できます。The maximum length of prompt is approximately 1024 characters, depending on the width of the characters used. prompt が複数の行にまたがる場合、行と行の間にキャリッジ リターン文字 (Chr(13))、ライン フィード文字 (Chr(10))、またはキャリッジ リターン文字とライン フィード文字の組み合わせ (Chr(13) & Chr(10)) を使用して行を分けることができます。If prompt consists of more than one line, you can separate the lines by using a carriage return character (Chr(13)), a linefeed character (Chr(10)), or carriage return - linefeed character combination (Chr(13) & Chr(10)) between each line.
buttonsbuttons 省略可能。Optional. 表示させるボタンの数と種類を指定する値、使用するアイコンのスタイル、既定のボタンの ID、およびメッセージ ボックスのモダリティの合計を表す数値式です。Numeric expression that is the sum of values specifying the number and type of buttons to display, the icon style to use, the identity of the default button, and the modality of the message box. 省略された場合、buttons の既定値は 0 です。If omitted, the default value for buttons is 0.
titletitle 省略可能。Optional. ダイアログ ボックスのタイトル バーに表示される文字列式です。String expression displayed in the title bar of the dialog box. title が省略された場合、タイトル バーにはアプリケーションの名前が表示されます。If you omit title, the application name is placed in the title bar.
helpfilehelpfile 省略可能。Optional. ダイアログ ボックスに状況依存のヘルプを提供するときに使用するヘルプ ファイルを識別する文字列式です。String expression that identifies the Help file to use to provide context-sensitive Help for the dialog box. helpfile を指定する場合は、context も必ず指定する必要があります。If helpfile is provided, context must also be provided.
contextcontext 省略可能。Optional. ヘルプ作成者によって適切なヘルプ トピックに割り当てられたヘルプ コンテキスト番号を示す数式です。Numeric expression that is the Help context number assigned to the appropriate Help topic by the Help author. context を指定する場合は、helpfile も必ず指定する必要があります。If context is provided, helpfile must also be provided.


buttons引数の設定値は以下のとおりです。The buttons argument settings are:

定数Constant Value 説明Description
vbOKOnlyvbOKOnly 00 [OK] ボタンのみを表示します。Display OK button only.
vbOKCancelvbOKCancel 11 [OK] ボタンと [キャンセル] ボタンを表示します。Display OK and Cancel buttons.
vbAbortRetryIgnorevbAbortRetryIgnore 22 [中止]、[再試行]、[無視] の各ボタンを表示します。Display Abort, Retry, and Ignore buttons.
vbYesNoCancelvbYesNoCancel 33 [はい]、[いいえ]、[キャンセル] の各ボタンを表示します。Display Yes, No, and Cancel buttons.
vbYesNovbYesNo 44 [はい] ボタンと [いいえ] ボタンを表示します。Display Yes and No buttons.
vbRetryCancelvbRetryCancel 55 [再試行] ボタンと [キャンセル] ボタンを表示します。Display Retry and Cancel buttons.
vbCriticalvbCritical 1616 [重大なメッセージ] アイコンを表示します。Display Critical Message icon.
vbQuestionvbQuestion 3232 [警告クエリ] アイコンを表示します。Display Warning Query icon.
vbExclamationvbExclamation 4848 [警告メッセージ] アイコンを表示します。Display Warning Message icon.
vbInformationvbInformation 6464 [情報メッセージ] アイコンを表示します。Display Information Message icon.
vbDefaultButton1vbDefaultButton1 00 1 番目のボタンが既定です。First button is default.
vbDefaultButton2vbDefaultButton2 256256 2 番目のボタンが既定です。Second button is default.
vbDefaultButton3vbDefaultButton3 512512 3 番目のボタンが既定です。Third button is default.
vbDefaultButton4vbDefaultButton4 768768 4 番目のボタンが既定です。Fourth button is default.
vbApplicationModalvbApplicationModal 00 アプリケーション モーダル。現在のアプリケーションでの作業を続行するには、ユーザーはメッセージ ボックスに応答する必要があります。Application modal; the user must respond to the message box before continuing work in the current application.
vbSystemModalvbSystemModal 40964096 システム モーダル。ユーザーがメッセージ ボックスに応答するまで、すべてのアプリケーションが中断します。System modal; all applications are suspended until the user responds to the message box.
vbMsgBoxHelpButtonvbMsgBoxHelpButton 1638416384 メッセージ ボックスに [ヘルプ] ボタンを追加します。Adds Help button to the message box.
vbMsgBoxSetForegroundvbMsgBoxSetForeground 6553665536 [メッセージ ボックス] ウィンドウを前景ウィンドウとして指定します。Specifies the message box window as the foreground window.
vbMsgBoxRightvbMsgBoxRight 524288524288 テキストを右揃えにします。Text is right-aligned.
vbMsgBoxRtlReadingvbMsgBoxRtlReading 10485761048576 ヘブライ語とアラビア語のシステムでテキストが右から左に読む形式で表示されるように指定します。Specifies text should appear as right-to-left reading on Hebrew and Arabic systems.

最初の値のグループ (0-5) はダイアログ ボックスに表示されるボタンの数と種類を示します。2 番目のグループ (16、32、48、64) はアイコンのスタイルを示します。3 番目のグループ (0、256、512) は既定のボタンを決定します。4 番目のグループ (0、4096) は、メッセージ ボックスのモダリティを決定します。The first group of values (0-5) describes the number and type of buttons displayed in the dialog box; the second group (16, 32, 48, 64) describes the icon style; the third group (0, 256, 512) determines which button is the default; and the fourth group (0, 4096) determines the modality of the message box. それぞれの値を合計して buttons 引数の最終的な値を作成する際は、各グループから値を 1 つだけ使用します。When adding numbers to create a final value for the buttons argument, use only one number from each group.


これらの定数は Visual Basic for Applications により指定されます。These constants are specified by Visual Basic for Applications. そのため、これらの名前は、実際の値の代わりにコードのどの部分でも使用できます。As a result, the names can be used anywhere in your code in place of the actual values.

戻り値Return values

定数Constant Value 説明Description
vbOKvbOK 11 OKOK
vbCancelvbCancel 22 CancelCancel
vbAbortvbAbort 33 中止Abort
vbRetryvbRetry 44 再試行Retry
vbIgnorevbIgnore 55 無視Ignore
vbYesvbYes 66 はいYes
vbNovbNo 77 いいえNo


helpfile と_context_ の両方を指定した場合、ユーザーは F1 キー (Windowsの場合) または HELP キー (Macintosh) を押して context に対応するヘルプ トピックを表示できます。When both helpfile and context are provided, the user can press F1 (Windows) or HELP (Macintosh) to view the Help topic corresponding to the context. Microsoft Excel などの一部のホスト アプリケーションでは、ダイアログ ボックスに [ヘルプ] ボタンが自動的に追加されます。Some host applications, for example, Microsoft Excel, also automatically add a Help button to the dialog box.

ダイアログ ボックスに [キャンセル] ボタンが表示されている場合、ESC キーを押すと [キャンセル] ボタンをクリックするのと同じ効果があります。If the dialog box displays a Cancel button, pressing the ESC key has the same effect as clicking Cancel. ダイアログ ボックスに [ヘルプ] ボタンが含まれている場合、ダイアログ ボックスで状況依存のヘルプが提供されています。If the dialog box contains a Help button, context-sensitive Help is provided for the dialog box. ただし、他のいずれかのボタンをクリックするまで値は返されません。However, no value is returned until one of the other buttons is clicked.


1 番目の名前付き引数以外にも因数を指定する場合は、内で MsgBox を使用する必要があります。To specify more than the first named argument, you must use MsgBox in an expression. 一部の場所引数を省略するには、対応するコンマ区切り記号を含める必要があります。To omit some positional arguments, you must include the corresponding comma delimiter.


この例では、 MsgBox 関数を使用して、[はい] ボタンと [いいえ] ボタンが含まれるダイアログ ボックスで重大なエラーのメッセージを表示させます。This example uses the MsgBox function to display a critical-error message in a dialog box with Yes and No buttons. [いいえ] ボタンは既定の応答として指定されています。The No button is specified as the default response. MsgBox 関数によって返される値は、ユーザーが選択したボタンに依存します。The value returned by the MsgBox function depends on the button chosen by the user. この例では、DEMO.HLP は、ヘルプ コンテキスト番号が 1000 のトピックを含むヘルプ ファイルであると仮定されています。This example assumes that DEMO.HLP is a Help file that contains a topic with a Help context number equal to 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

関連項目See also

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.