メッセージボックスの楽しい使い方の続きです。
これまでに、以下の通り紹介いたしましたが、もう少しだけ応用技を紹介いたします。
今回紹介する方法で、メッセージボックスにタイトルをつけることができます。
【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の比較)