MsgBox 関数
ダイアログボックスにメッセージを表示し、
ユーザーがボタンをクリックするまで待機。
どのボタンをユーザーが押したかを示す 整数 を返します。
構文
MsgBox( prompt [, buttons ] [, title ] [, helpfile, context ] )
※[]内の引数は指定なしでもOK
指定項目 | 説明 |
---|---|
prompt | ダイアログボックスに表示するメッセージ 。 |
[buttons] | ダイアログボックスに表示するボタンの種類。 |
[title] | ダイアログボックスのタイトルバーに表示する文字列。 省略するとアプリケーション名が表示される。 |
[helpfile,context] | helpfile:「ヘルプ」ボタンから開くヘルプファイルの指定。 context:ヘルプコンテキスト番号を指定 |
よく使いそうなものを中心に解説していこうと思います!
[helpfile,context]とか業務とかで使ったこともないくらいです・・・
prompt
ダイアログボックスに表示するメッセージ。
Hellow Worldの部分ですね。
指定した文字列をそのまま表示・・・
これ以上解説することないですね・・・w
buttons
ダイアログボックスに表示するボタンの種類。
種類だけで言うとけっこうたくさんあります。
なので私のブログではよく使いそうなもののみ抜粋して紹介します。
全部知りたかったら下記公式サイトで確認してください。 https://msdn.microsoft.com/ja-jp/vba/language-reference-vba/articles/msgbox-function
定数 | 値 | 説明 | 参考図 |
---|---|---|---|
vbOKOnly | 0 | [OK] ボタンのみを表示。 | ![]() |
vbOKCancel | 1 | [ OK ] ボタンと [ キャンセル ] ボタンを表示します。 | ![]() |
vbYesNoCancel | 3 | [ はい ] ボタン、[ いいえ ] ボタン、および [ キャンセル ] ボタンを表示します。 | ![]() |
vbYesNo | 4 | [ はい ] ボタンと [ いいえ ] ボタンを表示します。 | ![]() |
vbCritical | 16 | [ 警告メッセージ ] アイコンを表示します。 | ![]() |
vbQuestion | 32 | [ 問い合わせメッセージ ] アイコンを表示します。 | ![]() |
vbExclamation | 48 | [ 警告メッセージ ] アイコンを表示します。 | ![]() |
vbInformation | 64 | [ 情報メッセージ ] アイコンを表示します。 | ![]() |
何も指定しなければvbOKOnly(0)となります。
上記のうち、vbOKCancel(1)等のボタンが複数あるものは
押されたボタンによって処理を分けることができます。
OKボタンが押された場合は処理続行、キャンセルボタンが押された時は処理終了、みたいなことができます。
戻り値は下記になります。
定数 | 値 | 説明 |
---|---|---|
vbOK | 1 | OK |
vbCancel | 2 | キャンセル |
vbAbort | 3 | 中止 |
vbRetry | 4 | 再試行 |
vbIgnore | 5 | 無視 |
vbYes | 6 | はい |
vbNo | 7 | いいえ |
vbOKCancelを利用したサンプルコードを貼ります。
Private Sub CommandButton1_Click() If MsgBox("処理を続行してよろしいですか?", vbOKCancel + vbQuestion, "確認") = vbCancel Then Exit Sub End If MsgBox "処理完了!", vbInformation End Sub
ボタンを押した時に処理を続行していいかを確認するダイアログを表示し、
キャンセルの場合処理を終了し、
OKの場合は「処理完了!」を表示するプログラムです。
これを実行してみると・・・
[OK]を押した場合
[キャンセル]を押した場合
こんな感じで処理を分岐させることができます!
また、vbOKCancel + vbQuestionみたいな感じで組み合わせて使用することができます。
今回の場合は、OK,キャンセルボタン表示と問い合わせメッセージを組み合わせています。
さらに[title]に「確認」の文字を表示させることで、なんのメッセージが分かりやすくしています。
自分だけで使うものの場合はあまり使わないかもしれませんが、
誰かが使うものであればとても便利なものだと思います!
ぜひ参考にしてみてください。