TEL. 03-6912-4140

〒173-0012 東京都板橋区大和町12-15

Top > Software > ExcelVBAマクロ > Msgbox

Msgbox関数Msgbox function

説明

Msgbox関数はオペレータに何らかの情報を表示したり、オペレータからの選択を待つために使用する関数です。Msgbox関数はオペレータがクリックしたボタンの種類を 判定することが可能でクリックしたボタンの種類は戻り値で判定ができる。戻り値はInteger型で返される。

文法

MsgBox 表示するメッセージ [,ボタンの種類とタイプ] [,タイトルバーに表示する文字列] [,ヘルプファイル,context]

パラメータ

パラメータ 説明
表示するメッセージ String オペレータに伝えるためのメッセージを設定する。 改行したい場合はvbCr(キャリッジリターン)、vbLf(ラインフィールド)、vbCrLf(キャリッジリターン+ラインフィールド)を使用します。 大規模なシステムであればメッセージ内容をデータベース化しマニュアルと同期をとる方法が用いられることが多い。
ボタンの種類とタイプ Integer ボタンの種類を数値で指定する。予約定数が用意されているのでそれを使うのがいいと思います。 予約定数は以下に記述します。
タイトルバーに表示する文字列 String オペレータに伝えるためのメッセージを設定する。 大規模なシステムであればメッセージ内容をデータベース化しマニュアルと同期をとる方法が用いられることが多い。
ヘルプファイル 独自フォーマット 表示するヘルプファイル(.chm)を指定します。最近ではヘルプファイルを作成するのではなくhtmlを使用するケースが増えている。
context Integer 表示するヘルプファイルのページ番号を指定します。ヘルプファイルを指定した場合は必ず指定する費用があります。

予約定数

●ボタンの種類を表す値
定数 内容
vbOKOnly 0 [OK]ボタンのみを表示します
vbOKCancel 1 [OK]ボタンと[キャンセル]ボタンを表示します
vbAbortRetryIgnore 2 [中止]、[再試行]、および[無視]の3つのボタンを表示します
vbYesNoCancel 3 [はい]、[いいえ]、および[キャンセル]の3つのボタンを表示します
vbYesNo 4 [はい]ボタンと[いいえ]ボタンを表示します
vbRetryCancel 5 [再試行]ボタンと[キャンセル]ボタンを表示します
●表示するアイコンを表す値
定数 内容
vbCritical 16 警告メッセージアイコンを表示します
vbCritical 16 警告メッセージアイコンを表示します
vbQuestion 32 問い合わせメッセージアイコンを表示します
vbExclamation 48 注意メッセージアイコンを表示します
vbInformation 64 情報メッセージアイコンを表示します
●メッセージボックスを表示した際のフォーカスを当てるボタンを表す値
定数 内容
vbDefaultButton1 0 第1ボタンを標準ボタンにします
vbDefaultButton2 256 第2ボタンを標準ボタンにします
vbDefaultButton3 512 第3ボタンを標準ボタンにします
vbDefaultButton4 768 第4ボタンを標準ボタンにします
※標準ボタンの数がフォーカルを当てるボタンの数の方が大きい場合は第1ボタンにフォーカスをセットする。
●メッセージボックスを表示した際のフォーカスを当てるボタンを表す値
定数 内容
vbApplicationModal 0 アプリケーションモーダルに設定します。メッセージボックスに応答するまで、現在選択中のアプリケーションの実行を継続できません
vbSystemModal 4096 システムモーダルに設定します。メッセージボックスに応答するまで、すべてのアプリケーションが中断されます
※上記のそれぞれの値の合計値をパラメータとして渡す。

戻り値

●クリックされたボタンの種類を表す戻り値
定数 内容
vbOK 1 [OK]ボタンが押された場合の戻り値
vbCancel 2 [キャンセル]ボタンが押された場合の戻り値
vbAbort 3 [中止]ボタンが押された場合の戻り値
vbRetry 4 [再試行]ボタンが押された場合の戻り値
vbIgnore 5 [無視]ボタンが押された場合の戻り値
vbYes 6 [いいえ]ボタンが押された場合の戻り値
vbNo 7 [はい]ボタンが押された場合の戻り値

サンプルコード

Dim nRc As Integer

nRc = MsgBox("OK、Cancelボタンの戻り値確認", vbOKCancel + vbInformation, "確認メッセージ")
If nRc = vbOK Then
  MsgBox "OKボタンをクリック", vbOKOnly + vbExclamation, "結果メッセージ"
Else
 MsgBox "Cancelボタンをクリック", vbOKOnly + vbExclamation, "結果メッセージ"
End If