メッセージボックスにタイトルをつける

2011年4月18日

メッセージボックスの楽しい使い方の続きです。

これまでに、以下の通り紹介いたしましたが、もう少しだけ応用技を紹介いたします。

メッセージボックスの表示例 (MsgBox関数)

メッセージボックス内の文字を改行して表示する

メッセージボックス内の文字をインデント表示する

今回紹介する方法で、メッセージボックスにタイトルをつけることができます。

【1行マクロ】

MsgBox "メッセージの文字列", Title:="タイトルの文字列"

【解説】

通常のメッセージボックスのように、メッセージとして表示する文字列の後に、タイトル用の文字列を上記のように書きます。

【マクロ例】

MsgBox "[Alt] + [F11]" & vbTab & "→ VBEを開く" & vbCr & _

    "[Alt] + [F8]" & vbTab & "→ マクロを実行", _

    Title:="便利なショートカット"

前回の「メッセージボックス内の文字をインデント表示する 」で用いたマクロにタイトル名を追記してみました。

これを実行すると、タイトルバーに「便利なショートカット」と表示されます。

なんだか、雰囲気が出てきましたね。

【応用例】

Sub MSGBOX_Title()

'タイトル付きのメッセージ表示

Dim myMessage As String 'メッセージの内容
Dim myTitle As String  'タイトル

myMessage = "[Alt] + [F11]" & vbTab & "→ VBEを開く" & vbCr & _

    "[Alt] + [F8]" & vbTab & "→ マクロを実行"

myTitle = "便利なショートカット"

MsgBox Prompt:=myMessage, Title:=myTitle

End Sub

【解説】

上記のマクロでは、変数をもちいて少し複雑に書きました。

myMessage という変数に、メッセージの文章を書き込みます。

myTitle という変数に、タイトル文を書き込みます。

これらを、MsgBox関数で表示させます。

上記でPromptというのは、メッセージとして表示させる文字列を指定するためのものです。

上記の記載は、ひとつの定型文としてコピペで用いることができますので、便利ですよ。

上記のように変数を用いる理由は、見やすさ応用のしやすさだと思います。

たとえば、長いメッセージ文を書くときには、上記のようにメッセージ文とMsgBox関数を分離することで、全体がすっきりします。

また、メッセージ文・タイトル文が逐一変更される場合には、変数にそれぞれを入れるようにすれば、対応が簡単になります。

関連記事

メッセージボックスの目次

変数の宣言で気をつけたいこと

変数のデータ型による数値の上限 (整数型:Integerと長整数型:Longの比較)

変数の宣言を強制する「Option Explicit」の設定

-Word
-