VBA メッセージボックス (MsgBox関数)

基本構文

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

prompt必須
ダイアログ ボックス内にメッセージとして表示する文字列を指定
最大文字数は、1 バイト文字で約 1,024 文字
改行時は、ライン フィード (Chr(10)):「VbLf」
私は、いつも「vbNewLine」を使っている
buttons省略可能
表示されるボタンの種類と個数、使用するアイコンのスタイル、標準ボタン、メッセージ ボックスがモーダルかどうかなどを表す値の合計値を指定
省略すると、既定値は「 0 」
title省略可能
ダイアログ ボックスのタイトル バーに表示する文字列を指定
省略すると、タイトル バーにはアプリケーション名が表示される
Sub msgBoxSample01()
    MsgBox "メッセージテスト", vbExclamation, "確認だよ"
End Sub

Sub msgBoxSample04()
    MsgBox "メッセージテスト" & vbNewLine & "改行したよ", vbInformation, "確認 (^^♪"
End Sub

buttonsの定数

種類定数内容
ボタンの種類vbOKOnly0[OK] ボタンのみを表示
vbOKCancel1[OK] ボタンと [キャンセル] ボタンを表示
vbAbortRetryIgnore2[中止]、[再試行]、 [無視] の 3 つのボタンを表示
vbYesNoCancel3[はい]、[いいえ]、 [キャンセル] の 3 つのボタンを表示
vbYesNo4[はい] ボタンと [いいえ] ボタンを表示
vbRetryCancel5[再試行] ボタンと [キャンセル] ボタンを表示
アイコンの
種類
vbCritical16警告メッセージ アイコンを表示
vbQuestion32問い合わせメッセージ アイコンを表示
vbExclamation48注意メッセージ アイコンを表示
vbInformation64情報メッセージ アイコンを表示
デフォルト
ボタン
vbDefaultButton10第 1 ボタンをデフォルトボタン
vbDefaultButton2256第 2 ボタンをデフォルトボタン
vbDefaultButton3512第 3 ボタンをデフォルトボタン
vbDefaultButton4768第 4 ボタンをデフォルトボタン
Sub msgBoxSample02()
    MsgBox "メッセージテストしても良い?", vbYesNo + vbQuestion + vbDefaultButton2, "確認だよ"
End Sub

戻り値

定数説明
vbOK1OK
vbCancel2キャンセル
vbAbort3中止
vbRetry4再試行
vbIgnore5無視
vbYes6はい
vbNo7いいえ
Sub msgBoxSample03()
    Dim res As Long
    res = MsgBox("焼肉は好きですか?", vbYesNoCancel + vbQuestion, "嗜好確認")
    
    If res = vbYes Then
        MsgBox "私も焼肉が好き!"
    ElseIf res = vbNo Then
        MsgBox "焼肉は嫌いなんだ~"
    Else
        MsgBox "え~、教えてくれないんだ ((+_+))"
    End If
End Sub

コメント