日常~おまけ雑記~

日常にほんの少し活力を~毎日の出来事やオーディオなど趣味のことを紹介するブログです



メッセージボックスの表示方法5つ|Access VBA

Access VBAでメッセージボックスを表示するための方法を、下記5パターン紹介します。自分のシステムに合った方法を選んでご使用ください。
 
その①|本文のみ表示
その②|タイトルを表示
その③|本文を改行して表示
その④|「はい/いいえ」の選択表示
その⑤|「はい/いいえ/キャンセル」の選択表示

 

 

 

■その①|メッセージ本文のみ表示する

まずは、メッセージ本文を表示するだけの簡単な表示方法です。
個人的にこの状態でシステムには実装せず、VBAの途中データを表示確認するなど、イミディエイトウィンドウの代用に使ったりしています。
 
VBA記述】
MsgBox "メッセージ本文"
 
あるいは、
 
Dim str As String
str = "メッセージ本文"
MsgBox str
 
【①表示結果】
 
 

■その②|タイトルを表示する

メッセージボックスにタイトルをつけないと「MicrosoftAccess」がデフォルトみたいです。
実際、あまり気にする人はいないかもしれませんが、重要なメッセージの場合など、「警告」や「重要」など表示があると良いかもしれません。
 
VBA記述】
MsgBox "メッセージ本文", , "情報"
 
【②表示結果】

 
 

■その③|本文を改行して表示する

本文が長くなるときは、改行を入れると見やすくなります。
改行したい本文途中に「vbCrLf」を入れて記述します。
 
VBA記述】
MsgBox "メッセージ" & vbCrLf & "改行して本文", , "本文改行"
 
【③表示結果】

 
 

■その④|「はい/いいえ」の選択表示

メッセージボックスを表示する時の主な目的として、「はい/いいえ」で処理を選択、分岐させることが多いと思います。
例として、アプリケーションの終了選択で「いいえ」の時は何もしない。
「はい」の時はIF文を抜けて、終了処理を続けます。
 
VBA記述】
Dim msg As Integer
msg = MsgBox("アプリケーションを終了します" & vbCrLf & "よろしいですか?", vbYesNo, "タイトル")
If msg = vbNo Then
Exit Sub
End If
'終了処理を書く
 
【④表示結果】

 
 

■その⑤|「はい/いいえ/キャンセル」の選択表示

「はい/いいえ」に加えて、「キャンセル」も選択、分岐させることができます。
ここでは、3つそれぞれの処理を、Caseで分ける記述を紹介します。
 
VBA記述】
Dim msg As Integer
msg = MsgBox("アプリケーションを終了します" & vbCrLf & "よろしいですか?", vbYesNoCancel, "タイトル")
Select Case msg
Case vbYes
MsgBox "「はい」の処理"
Case vbNo
MsgBox "「いいえ」の処理"
Case vbCancel
MsgBox "「キャンセル」の処理"
End Select
 
【⑤表示結果】

 
 

■最後に

メッセージボックスは、データの更新やバックアップ、アプリの終了時など、使用する機会があります。
しかし、一度プロシージャを作ってしまえば、いろんなところに使い回すことができるので、パターンの備忘録などにご活用頂ければ幸いです。