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