ふぢのVB小技集

簡単にメッセージを表示する方法はありませんか?

(質問)
画面にメッセージを簡単に表示する方法はありませんか? 自分でメッセージ画面を作ってもいいんですが面倒くさくって・・・



(回答)
VBにはMsgBox関数という便利な関数が用意されていますので、これを使用しましょう。



(解説)
Windowsで普段表示されるメッセージのような形式であれば、1行のロジックで簡単に表示することができます。
複雑なメッセージには対応できませんが、なるべくMsgBox関数を使用すれば開発効率が向上すること間違いなし!

MsgBoxには、以下のパラメータの組み合わせで表示形式を指定します。


ボタンの表示パターン
vbOKOnly [OK]ボタンのみ表示する
vbOKCancel [OK]と[キャンセル]を表示する。
vbAbortRetryIgnore [中止]、[再試行]、[無視]を表示する。
vbYesNoCancel [はい]、[いいえ]、[キャンセル]を表示する。
vbYesNo [はい]、[いいえ]を表示する。
vbRetryCancel [再試行]、[キャンセル]を表示する。


アイコンの表示パターン
vbCritical 警告アイコンを表示する。
vbQuestion 問い合わせアイコンを表示する。
vbExclamation 注意アイコンを表示する。
vbInformation 情報アイコンを表示する。


モーダル指定
vbApplicationModal アプリケーションモーダルに設定する。
ユーザの入力待ちになる。それまで、そのアプリケーションのウィンドウ操作はできない。
vbSystemModal システムモーダルに設定する。
ユーザの入力待ちになる。全てのアプリケーションのウィンドウ操作ができない。



メッセージ表示例を以下に示します。

vbOKOnly + vbInformation + vbApplicationModal
プログラム MsgBox "痛いギャグの作成中です。しばらくお待ち下さい。", _
vbOKOnly + vbInformation + vbApplicationModal, "作成中"
実行画面



vbOKCancel + vbExclamation + vbApplicationModal
プログラム MsgBox "痛いギャグは精神的ダメージを与える場合があります。痛いギャグの作成を続けますか?", _
vbOKCancel + vbExclamation + vbApplicationModal, "確認"
実行画面



vbYesNo + vbQuestion + vbApplicationModal
プログラム MsgBox "痛いギャグのネタが見つかりません。処理を中断してもよいですか?", _
vbYesNo + vbQuestion + vbApplicationModal, "確認"
実行画面



vbAbortRetryIgnore + vbCritical + vbApplicationModal
プログラム MsgBox "無謀な処理を行ったので人格が分裂しました。もう一度処理を行いますか?", _
vbAbortRetryIgnore + vbCritical + vbApplicationModal, "確認"
実行画面


実は、まだ他にもいくつかパラメータがあるのですが、説明が長くなるのでここでは省略しました。
同じ処理を独自に作成することもできますが、処理が複数の場所に分散してしまうのでメンテナンス性を向上するためにも、なるべくMsgBox関数を使用するようにしましょう。


戻る