【VBA】MsgBox 関数でメッセージを表示します

 この記事では VBA の MsgBox 関数 の使い方を説明します。MsgBox は Message Box の略です。読んで字のごとく、メッセージを表示させる関数です。MsgBox 関数を使うと、ユーザーさんに「このマクロを実行する?」と確認してから、処理を行わせるマクロを作ることができます。

【VBA】MsgBox 関数

 まず最初に単純にメッセージを表示するだけのプロシージャを書いてみます。MsgBox 関数の引数に、表示したい文字列をダブルクォーテーション (“) で囲って指定します。

'[VBA] メッセージを表示するサブルーチン
Sub MsgBox_Test_1()
  MsgBox "「言葉の工房あとりえこばと」にようこそ!"
End Sub

 MsgBox_Test_1() を実行すると次のようなダイアログボックスが現れます。

 VBA MsgBox関数 あとりえこばとにようこそ!
 
 しかし、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() を実行すると次のようなダイアログボックスが現れます。

 VBA MsgBox関数 メッセージの表示確認

 ユーザーさんが「はい(Y)」を押すと …

 VBA MsgBox関数 あとりえこばとにようこそ!

 このようにメッセージが表示されます。
 「いいえ (N)」を押すと何も起こらずに、そのまま終了します。
 
 上のプロシージャでは MsgBox 関数の2つめの引数に vbYesNo という種類のボタンを指定しました。MsgBox 関数では、他にも次のようなボタンを配置することができます。

  vbOKOnly
 MsgBox関数 vbokonly

  vbOKCancel
 MsgBox関数 vbokcancel

  vbYesNoCancel
 MsgBox関数 vbYesNoCancel

  vbRetryCancel
 MsgBox関数 vbRetryCancel

  vbAbortRetryIgnore
 MsgBox関数 vbAbortRetryIgnore
 目的に応じて、色々なボタンを使い分けてくださいな。

コメント

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