ダイアログにアイコンを表示する

ダイアログにはどんな種類かを表すアイコンを指定することができます。ここでは Excel VBA でダイアログにアイコンを表示する方法を解説します。

(2022 年 06 月 14 日公開 / 2022 年 06 月 14 日更新)

ダイアログにアイコンを表示する

アイコンについても既にVBAで定義されています。

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

前のページで確認したどの種類のボタンが表示するかを示す定数と加算して「MsgBox」関数を呼び出す時の2番目の引数に指定します。

例えば「vbOKCancel」ボタンと「vbQuestion」アイコンを使ったダイアログを表示した場合次のようになります。

Sub テスト()
    Dim ans As Integer

    ans = MsgBox("実行しますか?", vbOKCancel + vbQuestion, "テスト")

    If ans = vbOK Then
        Range("A1").Value = "OKが押されました"
    Else
        Range("A1").Value = "キャンセルが押されました"
    End If
End Sub

「vbOKCancel」の実際の値は「1」で「vbQuestion」の実際の値は「32」ですので、合計して「33」という値が指定されたことになります。どの組み合わせであっても識別できるように各定数の値は設定されています。

では一通り試してみましょう。

vbCritical

最初は vbCritical です。「警告」をあらわすアイコンを表示します。

Sub テスト()

    Dim ans As Integer

    ans = MsgBox("危険です。すぐにウィルス駆除をして下さい。" _
        , vbOKCancel + vbCritical, "テスト")

    If ans = vbOK Then
        Range("A1").Value = "OKが押されました"
    Else
        Range("A1").Value = "キャンセルが押されました"
    End If

End Sub

上記のマクロを実行すると次のようになります。

ダイアログテスト

他のアイコンは画面表示だけ見てください。

vbQuestion

次は vbQuestion です。「問い合わせ」をあらわすアイコンを表示します。

Dim ans As Integer
ans = MsgBox("インストールを継続しますか?" _
    , vbAbortRetryIgnore + vbQuestion, "テスト")

ダイアログテスト

vbExclamation

次は vbExclamation です。「注意」をあらわすアイコンを表示します。

Dim ans As Integer
ans = MsgBox("削除すると元に戻せません。続行しますか?" _
    , vbYesNo + vbExclamation, "テスト")

ダイアログテスト

vbInformation

最後は vbInformation です。「情報」をあらわすアイコンを表示します。

MsgBox "インストールは完了しました", _
    vbOKOnly + vbInformation, "テスト"

ダイアログテスト

ダイアログを表示する目的にあわせて表示するアイコンを選択してください。

-- --

Excel VBA でダイアログにアイコンを表示する方法を解説しました。

( Written by Tatsuo Ikura )

広告
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。