- Home ›
- Excel VBA入門 ›
- ダイアログ ›
- HERE
アイコンの表示
広告
ダイアログにはどんな種類かを表すアイコンを指定することができます。
アイコンについても既にVBAで定義されています。
定義済み定数 | 実際の値 | 説明 |
---|---|---|
vbCritical | 16 | 警告 |
vbQuestion | 32 | 問い合わせ |
vbExclamation | 48 | 注意 |
vbInfomation | 64 | 情報 |
前のページで確認したどの種類のボタンが表示するかを示す定数と加算して「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
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
Dim ans As Integer ans = MsgBox("インストールを継続しますか?" _ , vbAbortRetryIgnore + vbQuestion, "テスト")
vbExclamation
Dim ans As Integer ans = MsgBox("削除すると元に戻せません。続行しますか?" _ , vbYesNo + vbExclamation, "テスト")
vbInformation
MsgBox "インストールは完了しました", _ vbOKOnly + vbInformation, "テスト"
( Written by Tatsuo Ikura )