VBAのMsgBox関数とは?メッセージウィンドウを表示させるMsgBox関数の使い方
ファイルの保存時や様々な場面で、メッセージウィンドウを眼にする機会はあると思います。VBAでも、好きな場面でメッセージやボタンを選んで表示することができます。ここでは、メッセージウィンドウの表示方法について説明してきます。
目次
1.MsgBox関数について
1-1.MsgBox関数とは
MsgBox関数とは、画面に警告やメッセージ等のウィンドウを表示する関数です。
1-2.MsgBox関数の構文
MsgBox [メッセージ] [ボタン&アイコン] [タイトル]
オプションでヘルプファイルを指定できますが、今回は基本的な説明のため省略します。
1-2-1.メッセージ
省略できません。表示させたい文字列を、「”」(ダブルクォーテーション)で囲みます。
Sub sample01() Dim msg As String msg = "メッセージ本文" MsgBox msg, vbOKCancel + vbInformation, "タイトル" End Sub
1-2-2.ボタン&アイコン
省略可能です。省略した場合は、「vbOKOnly」の状態になります。下記表の定数名、もしくは値を設定します。
・ボタン一覧
定数名 | 値 | 表示するボタン |
vbOKOnly | 0 | |
vbOKCancel | 1 | |
vbAbortRetryIgnore | 2 | |
vbYesNoCancel | 3 | |
vbYesNo | 4 | |
vbRetryCancel | 5 |
・アイコン一覧
定数名 | 値 | アイコン | 表示するボタン |
vbCritical | 16 | 重大なメッセージ | |
vbQuestion | 32 | 警告クエリ | |
vbExclamation | 48 | 警告メッセージ | |
vbInformation | 64 | 情報メッセージ |
1-2-3.タイトル
省略可能です。省略した場合は、「Microsoft Excel」と表示されます。
2.MsgBox関数の使用例
2-1.基本的な使用例
Sub sample02() MsgBox "メッセージ本文", vbOKCancel + vbInformation, "タイトル" End Sub
実行結果:
ボタンとアイコンの定数は、どちらを先に設定しても同じ結果になります。
Sub sample03() '情報アイコン + ボタン(OK&キャンセル) MsgBox "メッセージ本文", vbInformation + vbOKCancel, "タイトル" End Sub
実行結果:
2-2.特殊な書き方をする場合
メッセージに改行を使う場合。MsgBoxのメッセージで改行を使う場合は、改行をしたい箇所に「vbCrlf」を挿入します。
Sub sample04() 'メッセージに改行を使う場合 MsgBox "メッセージ本文で" + vbCrLf + "改行する", vbOKOnly+ vbCritical, "タイトル" End Sub
実行結果:
メッセージにダブルクォーテーションを使う場合。MsgBoxでダブルクォーテーションを使う場合は、「“」を2つ連続で入力します。1つ目の「“」は、エスケープシーケンスといい、記号などを表示させるための「おまじない」です。
Sub sample05() 'メッセージにダブルクォーテーションを使う場合 MsgBox "メッセージ本文に""ダブルクォーテーション""を使う", vbAbortRetryIgnore + vbQuestion, "タイトル" End Sub
実行結果:
2-3.その他の使用例
ボタンやアイコンを定数ではなく値を設定しても同じ結果になります。
Sub sample06() '情報アイコン「64」 + ボタン(OK&キャンセル)「1」 MsgBox "メッセージ本文", 64 + 1, "タイトル" End Sub
実行結果:
アイコンとボタンの値を加算した値を設定しても同じ結果になります。しかし、可読性が下がるので、使う機会は少ないです。
Sub sample07() '65= 64(情報アイコン) + 1(ボタン) MsgBox "メッセージ本文", 65, "タイトル" End Sub
実行結果:
3.最後に
メッセージボックスは、「メッセージを表示」するだけではなく、「デバッグで変数値を表示させる」こともできます。様々な用途に使えるので、色々試してみてください。
コメント