ダイアログボックスに表示するアイコンの種類を選択する

MsgBox 関数を使ってダイアログボックスを作成する場合、表示されるメッセージの内容にあわせて「警告」「問い合わせ」「注意」「情報」の中からアイコンの種類を選択することができます。ここでは Excel VBA でダイアログボックスに表示するアイコンの種類を選択する方法について解説します。

※ ダイアログボックスを作成する方法については「MsgBox関数を使ったダイアログボックスの表示」を参照されてください。

(Last modified: )

ダイアログボックスのアイコンの種類を選択する

MsgBox 関数でアイコンの種類を設定する場合、省略可能な 2 番目の引数でボタンの種類とあわせてアイコンの種類を設定します。

MsgBox (prompt, buttons)

設定可能な種類は次の通りです。

定義済み定数説明
vbCritical16警告
vbQuestion32問い合わせ
vbExclamation48注意
vbInfomation64情報

例えば vbOKCancel ボタンと vbQuestion アイコンを使ったダイアログボックスを表示する場合、 MsgBox の 2 番目の引数に次のように記述します。

Option Explicit

Sub MsgBox関数()
    Dim res As Integer
    res = MsgBox("実行しますか?", vbOKCancel + vbQuestion)
End Sub

又は Or 演算子を使って次のように記述してもいいです。

Option Explicit

Sub MsgBox関数()
    Dim res As Integer
    res = MsgBox("実行しますか?", vbOKCancel Or vbQuestion)
End Sub

どちらの方法であっても今回の場合は vbOKCancel の値は 1 で vbQuestion の値は 32 のため、 2 番目の引数は 33 となります。

それではアイコンの種類を指定したときに実際にどのように表示されるのか確認してみます。

vbCritical(警告アイコン)

MsgBox 関数の 2 番目の引数に vbCritical を指定した場合です。(ボタンの種類は vbOKOnly としてあります)。

Option Explicit

Sub MsgBox関数()
    Dim res As Integer
    res = MsgBox("危険な情報が含まれます", vbOKOnly Or vbCritical)
End Sub

vbCritical(警告アイコン)(1)

このプログラムを実行すると次のようなダイアログボックスが表示され「警告」アイコンが表示されます。

vbCritical(警告アイコン)(2)

vbQuestion(問い合わせアイコン)

MsgBox 関数の 2 番目の引数に vbQuestion を指定した場合です。(ボタンの種類は vbYesNo としてあります)。

Option Explicit

Sub MsgBox関数()
    Dim res As Integer
    res = MsgBox("継続しますか?", vbQuestion Or vbYesNo)
End Sub

vbQuestion(問い合わせアイコン)(1)

このプログラムを実行すると次のようなダイアログボックスが表示され「問い合わせ」アイコンが表示されます。

vbQuestion(問い合わせアイコン)(2)

vbExclamation(注意アイコン)

MsgBox 関数の 2 番目の引数に vbExclamation を指定した場合です。(ボタンの種類は vbOKCancel としてあります)。

Option Explicit

Sub MsgBox関数()
    Dim res As Integer
    res = MsgBox("有効期限が残り少ないです。継続しますか?", vbExclamation Or vbOKCancel)
End Sub

vbExclamation(注意アイコン)(1)

このプログラムを実行すると次のようなダイアログボックスが表示され「注意」アイコンが表示されます。

vbExclamation(注意アイコン)(2)

vbInfomation(情報アイコン)

MsgBox 関数の 2 番目の引数に vbInformation を指定した場合です。(ボタンの種類は vbOKOnly としてあります)。

Option Explicit

Sub MsgBox関数()
    Dim res As Integer
    res = MsgBox("インストールは完了しました", vbInformation Or vbOKOnly)
End Sub

vbInfomation(情報アイコン)(1)

このプログラムを実行すると次のようなダイアログボックスが表示され「情報」アイコンが表示されます。

vbInfomation(情報アイコン)(2)

-- --

Excel VBA でダイアログボックスに表示するアイコンの種類を選択する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。