MsgBox 関数

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Access デスクトップ データベースでは、 MsgBox 関数はダイアログ ボックスにメッセージを表示し、ユーザーがボタンを選択するのを待ち、ユーザーが選択したボタンを示す Integer を返します。

構文

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 最初のボタンを既定値にします。
vbDefaultButton2 256 2 番目のボタンを既定値にします。
vbDefaultButton3 512 3 番目のボタンを既定値にします。
vbDefaultButton4 768 4 番目のボタンを既定値にします。
vbApplicationModal 0 アプリケーション モーダル。 ユーザーは、現在のアプリケーションで作業を続行する前に、メッセージ ボックスに応答する必要があります。
vbSystemModal 4096 システム モーダル。 すべてのアプリケーションは、ユーザーがメッセージ ボックスに応答するまで中断されます。
vbMsgBoxHelpButton 16384 メッセージ ボックスに [ヘルプ ] ボタンを追加します。
VbMsgBoxSetForeground 65536 メッセージ ボックス ウィンドウを前景ウィンドウとして指定します。
vbMsgBoxRight 524288 テキストを右揃えします。
vbMsgBoxRtlReading 1048576 ヘブライ語とアラビア語のシステムで右から左への読み取りでテキストを表示します。

値の最初のグループ (0 から 5) では、ダイアログ ボックスに表示されるボタンの数と種類について説明します。 2 番目のグループ (16324864) では、アイコン のスタイルについて説明します。 既定のボタンは、3 つ目のグループ (0256512) によって決まります。 4 番目のグループ (04096) は、メッセージ ボックスのモダリティを決定します。 数値を追加して、 buttons 引数の最終的な値を作成する場合は、各グループから 1 つの数値のみを使用します。

上記の定数は、Visual Basic for Applications により指定されます。 その結果、実際の値ではなく、コード内の任意の場所で名前を使用できます。

戻り値

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

解説

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

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

最初の名前付き引数より多くを指定するには、式で MsgBox を使用する必要があります。 引数を省略するには、それに対応する位置にコンマ区切り記号を記述します。

次の例では、Visual Basic for Applications (VBA) モジュールでこの関数を使用する方法を示します。

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

Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "Do you want to continue?"
Style = vbYesNo + vbCritical + vbDefaultButton2
Title = "MsgBox Demonstration"
Help = "DEMO.HLP"
Ctxt = 1000
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