VBA|メッセージボックス(MsgBox)の 文字色・文字サイズの変更方法

エクセルVBA VBAでウインドウ関連の操作



VBAでメッセージボックス(MsgBox)を使っていますか?

MsgBoxを使うと、簡単にメッセージを表示させることができますが、文字色や文字サイズの変更はどのようにすればよいのでしょうか?

今回はMsgBoxの文字色・文字サイズの変更方法について徹底的に解説していきます。



メッセージボックス(MsgBox)の 文字色・文字サイズの変更方法

MsgBoxの文字色や文字サイズを変更するには?

MsgBoxの 文字色・文字サイズの変更はできない?

そもそもMsgBoxで文字色や文字サイズの設定は変更できるのでしょうか。

MsgBox関数の構文を見てみましょう。

MsgBox関数の構文

MsgBox (prompt, [ buttons, ] [ title, ] [ helpfilecontext ])

引数promptは必ず指定します。メッセージボックスに表示するメッセージを指定します。

引数buttonは省略可能です。メッセージボックスに表示する、ボタンの種類やタイプなどを指定します。

引数titleは省略可能です。メッセージボックスのタイトルバーに表示する文字列を指定します。

引数helpfileは省略可能です。メッセージボックスのヘルプボタンから開くヘルプファイルを指定します。引数helpfileを指定する場合は、引数contextも必ず指定する必要があります。

MsgBox関数の引数で文字色や文字サイズを指定するものはありません。

つまり、MsgBox関数を使う以上、上記の引数以外の設定はできないのです。

したがって、MsgBox関数を使って表示されるメッセージボックスの文字色や文字サイズを変更することはできないということになります。

それでは、メッセージボックスの文字色や文字サイズを変更することはできないのでしょうか??マイクロソフトに確認してみました。

マイクロソフトに確認してみた

メッセージボックスに表示する文字色を変更したり、文字サイズを変更することが可能なのか、マイクロソフトのサポートセンターに問い合わせたところ、、、

メッセージボックスに表示する文字色や文字サイズを変更(設定)することはできない。

という回答でした。

それでもメッセージボックスの文字色や文字サイズは変更したい!!という人は、次の項目を参考にしてください。

メッセージボックスを自作する

文字色や文字サイズを変更(設定)できないということならば、メッセージボックスを自作するしか方法はありません。

自作には、メッセージボックスのコードを自作する方法と、ユーザーフォームを使う方法があります。

メッセージボックスのコードを自作する

メッセージボックスの自作方法は、http://oshiete1.goo.ne.jp/kotaeru.php3?q=384428が参考になります。が、とても面倒なコードになります。余力と時間がある人向けです。

ユーザーフォームを使う

ユーザーフォームならば、好きな文字色・文字サイズのメッセージボックスを比較的簡単に作成することが可能です。

ユーザーフォームの作成を食わず嫌いしている人は、これを機にユーザーフォームを使えるようになってくださいね(笑)

コメント

タイトルとURLをコピーしました