目標
MsgBoxについて理解して利用できる。
MsgBoxの書き方(文法)について理解する
MsgBoxの概要と構文
MsgBoxとは
ユーザーがシステムを対話形式で操作するためのダイアログボックスのことです。プログラム側からユーザーの操作に対して確認を行う時などに使われます。
MsgBoxの構文とプロシージャ
基本形の構文
まずは基本の形を確認します。構文は以下のとおりです。
構文 | Sub MsgBoxExpression1() MsgBox “第1引数” End Sub ※表示のみであればMsgBoxに続けて””の中にメッセージ(第1引数)を記述します。 第1引数には””(ダブルクオート)が必要です。 |
サンプルプロシージャ1
Sub MsgBoxExpression1()
MsgBox "メッセージを表示します"
End Sub
実行結果
基本形の構文(変数に戻り値を代入)
構文 | Sub MsgBoxExpression2() Dim msg As Integer msg = MsgBox(“第1引数”) Debug.Print msg End Sub ※MsgBoxで値を出力して変数に代入する場合は(””)でメッセージを囲います。 出力される値は「OK」のボタンをクリックしたときのvbOKという組み込み定数です。 vbOKは組み込み定数なので定数の箱に値が格納されています。 vbOKの場合は「1」が格納されています。 |
サンプルプロシージャ2
Sub MsgBoxExpression2()
Dim msg As Integer
msg = MsgBox("メッセージを表示します")
Debug.Print msg
End Sub
実行結果
第2引数を利用する構文
構文 | Sub MsgBoxExpression3() MsgBox “第1引数”, 第2引数 End Sub ※第2引数では組み込み定数を「ボタンの種類」か「アイコンの種類」、もしくは 「ボタンの種類+アイコンの種類」の両方を指定して利用することができます。 第2引数には””(ダブルクオート)は使いません。 |
サンプルプロシージャ3
第2引数に「ボタンの種類」か「アイコンの種類」の何れかを指定した場合
サンプルプロシージャ3とサンプルプロシージャ4は実行結果を載せていません。コピペして実行を確認してみてください。
Sub MsgBoxExpression3()
MsgBox "メッセージを表示します"
MsgBox "「OK」を表示します", vbOKOnly
MsgBox "「OK」「キャンセル」を表示します", vbOKCancel
MsgBox "「中止(A)」 「再試行(R)」 「無視(I)」を表示します", vbAbortRetryIgnore
MsgBox "「はい(Y)」 「いいえ(N)」 「キャンセル」を表示します", vbYesNoCancel
MsgBox "「はい(Y)」 「いいえ(N)」を表示します", vbYesNo
MsgBox "「再試行(R)」 「キャンセル」を表示します", vbRetryCancel
MsgBox "【警告】アイコンを表示します", vbCritical
MsgBox "【問い合せ】アイコンを表示します", vbQuestion
MsgBox "【注意】アイコンを表示します", vbExclamation
MsgBox "【情報】アイコンを表示します", vbInformation
End Sub
サンプルプロシージャ4
第2引数に「ボタンの種類」と「アイコンの種類」の両方を指定した場合
Sub MsgBoxExpression4()
MsgBox "許可が必要な処理です", vbOKOnly + vbExclamation
MsgBox "データが削除されます", vbOKCancel + vbExclamation
MsgBox "この操作はデータが消える恐れがあります", vbAbortRetryIgnore + vbCritical
MsgBox "こちらの処理を続けますか?", vbYesNoCancel + vbQuestion
MsgBox "こちらは営業部のデータです。よろしいですか?", vbYesNo + vbInformation
MsgBox "もう一度処理しますか?", vbRetryCancel + vbExclamation
End Sub
第3引数を利用する構文
構文 | Sub MsgBoxExpression5() MsgBox “第1引数”, 第2引数, “第3引数” End Sub ※第3引数にはダイアログボックスのタイトルを指定することができます。 第3引数には””(ダブルクオート)が必要です。 |
サンプルプロシージャ5
サンプルプロシージャ5は「MsgBox “「OK」を表示します”, vbOKOnly, “Titleを入力”」の実行結果のみを載せています。
Sub MsgBoxExpression5()
MsgBox "「OK」を表示します", vbOKOnly, "Titleを入力"
MsgBox "「OK」「キャンセル」を表示します", vbOKCancel, "Titleを入力"
MsgBox " 【警告】アイコンを表示します", vbCritical, "Titleを入力"
MsgBox " 【注意】アイコンを表示します", vbExclamation, "Titleを入力"
MsgBox "許可が必要な処理です", vbOKOnly + vbExclamation, "Titleを入力"
MsgBox "データが削除されます", vbOKCancel + vbExclamation, "Titleを入力"
MsgBox "こちらは営業部のデータです。よろしいですか?", vbYesNo + vbInformation, "Titleを入力"
MsgBox "もう一度処理しますか?", vbRetryCancel + vbExclamation, "Titleを入力"
End Sub
実行結果
第3引数にはダイアログボックスのタイトルを指定できます。第3引数を指定した場合は以下のようになります。
サンプルプロシージャ6
構文 | Sub MsgBoxExpression5() MsgBox “第1引数”, , “第3引数” End Sub ※第2引数を省略する時は「,」が途中に必要です。 |
サンプルプロシージャ6は実行結果を載せていません。コピペして実行を確認してみてください。
Sub MsgBoxExpression6()
MsgBox "「OK」を表示します", , "Titleを入力"
End Sub
MsgBoxの「第4引数」と「第5引数」
MsgBoxの「第4引数」と「第5引数」
MsgBox の「第4引数」と「第5引数」は基本は空欄(省略)で使用することが多いです。この引数にはヘルプファイルとヘルプ内容に対応するコンテキスト番号を指定します。「第4引数」と「第5引数」は2つでセットなのでどちらかのみを省略することはできません。
ヘルプファイルとは
ヘルプファイルはOfficeの操作で分からないことなどを教えてくれるファイルのことです。HTMLファイルに記述してコンパイルして作成します。作成には専用のソフトがあります。ヘルプファイルは手順書のようなもので、あえて準備する必要はありません。
よく、Excelの操作でエラー表示が出た際に「ヘルプ」ボタンが表示されますが、それをクリックしたときに出力される操作説明(ブラウザなどに表示される手順書)がヘルプファイルです。
今回は以上となります。次回はMsgBoxの表示ボタンの戻り値について取り上げます。
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。