✅ 基本構文
MsgBox(prompt, [buttons], [title])
引数名 | 説明 |
---|
prompt | 表示したいメッセージ(文字列) |
buttons | ボタンやアイコンの種類、デフォルトボタンなどの定数(省略可) |
title | ダイアログのタイトルバーに表示する文字列(省略可) |
🧪 最もシンプルな使用例
MsgBox "処理が完了しました。"
➤ 結果:
「OK」ボタン付きのメッセージウィンドウが表示される。
🖱 表示ボタンとアイコンのオプション
ボタンの種類(定数)
定数名 | 値 | 表示されるボタン |
---|
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番目のボタンを既定に |
🧩 ボタンとアイコンを組み合わせた例
MsgBox "本当に削除しますか?", vbYesNo + vbCritical + vbDefaultButton2, "確認"
- ボタン:はい / いいえ
- アイコン:×(重大な警告)
- デフォルト選択:いいえ
⛳ 応答を取得する(関数として使用)
Dim answer As VbMsgBoxResult
answer = MsgBox("保存しますか?", vbYesNoCancel + vbQuestion, "保存確認")
Select Case answer
Case vbYes
MsgBox "保存しました。"
Case vbNo
MsgBox "保存しませんでした。"
Case vbCancel
MsgBox "操作をキャンセルしました。"
End Select
➤ VbMsgBoxResult 戻り値
定数 | 値 | ボタン押下結果 |
---|
vbOK | 1 | OK |
vbCancel | 2 | キャンセル |
vbAbort | 3 | 中止 |
vbRetry | 4 | 再試行 |
vbIgnore | 5 | 無視 |
vbYes | 6 | はい |
vbNo | 7 | いいえ |
📐 サンプル
1. エラーメッセージ
MsgBox "ファイルが見つかりません。", vbExclamation, "エラー"
2. 上書き確認
If MsgBox("上書きしますか?", vbYesNo + vbQuestion, "確認") = vbYes Then
' 上書き処理
End If
3. 処理完了通知
MsgBox "処理が完了しました。", vbInformation, "完了"
📌 応用:変数や改行の使用
改行の追加(vbCrLf or vbNewLine)
MsgBox "登録が完了しました。" & vbCrLf & "続けて作業しますか?", vbYesNo
変数と組み合わせ
Dim userName As String
userName = "田中"
MsgBox userName & "さん、ようこそ!", vbInformation, "挨拶"
💡 開発中に便利な使い方(デバッグ)
MsgBox "デバッグ:変数Aの値は " & A
開発者が途中の値を確認したり、フロー制御の判断材料にできます。
🔐 注意点
項目 | 説明 |
---|
長いメッセージの分割 | 80文字以上のメッセージは vbCrLf で改行推奨 |
多言語対応 | ハードコーディングせず、変数やリソースで管理 |
ユーザー操作の強要に注意 | メッセージが多すぎるとユーザー体験が悪化 |
モーダル表示(操作ブロック) | MsgBox 表示中は他の操作ができない(意図的) |
🧾 まとめ
要素 | 内容 |
---|
主な用途 | ユーザーへの通知、確認、警告、入力待ち |
結果取得 | VbMsgBoxResult (vbYes , vbNo , vbCancel など) |
オプション | vbYesNo , vbCritical , vbDefaultButton2 など |
使用上の注意 | 長すぎる文章は分ける、連発しすぎない |
実務利用例 | 削除確認・保存確認・エラー表示・処理完了通知など |