今回は MsgBox 関数 の使い方です。MsgBox は Message Box の略です。読んで字のごとく、メッセージを表示させる関数です。MsgBox 関数を使うと、ユーザーさんに「このマクロを実行する?」と確認してから、処理を行わせるマクロを作ることができます。
メッセージを表示します
まず最初に単純にメッセージを表示するだけのマクロを書いてみます。MsgBox 関数の引数に、表示したい文字列をダブルクォーテーション (") で囲って指定します。
MsgBox "「言葉の工房あとりえこばと」にようこそ!"
End Sub
このマクロを実行すると次のようなダイアログボックスが現れます。
MsgBox 関数で対話型マクロをつくります
しかし、MsgBox 関数の使い方はこれだけではありません。2つめの引数でボタンを配置して、ユーザーさんに [Yes] か [No] を押してもらうようなダイアログボックスを表示させることができます。たとえば、こんなマクロです。
Sub MsgTest2()
Dim mytitle As String
Dim myquestion As String
Dim mymsg As String
Dim mybtn As Integer
mytitle = "メッセージの表示確認"
myquestion = "メッセージを表示する?"
mymsg = "「言葉の工房あとりえこばと」にようこそ!"
mybtn = MsgBox(myquestion, vbYesNo, mytitle)
If mybtn = vbYes Then
MsgBox mymsg
End If
End Sub
このマクロを実行すると次のようなダイアログボックスが現れます。
ユーザーさんが「はい (Y)」を押すと ......
このようにメッセージが表示されます。
「いいえ (N)」を押すと何も起こらずに、そのまま終了します。
MsgBox 関数のボタンの種類
上のマクロでは MsgBox 関数 の2つめの引数に vbYesNo という種類のボタンを指定しました。MsgBox 関数では、他にも次のようなボタンを配置することができます。
vbOKOnly
vbOKCancel
vbYesNoCancel
vbRetryCancel
vbAbortRetryIgnore
目的に応じて、色々なボタンを使い分けてくださいな。