■引数一覧
名称 | 概要 | 規定値 |
---|---|---|
prompt | メッセージとして表示する文字列 | なし |
buttons | 表示するボタンの数や種類、アイコンスタイルなど(省略可) | 0(vbOkOnly) |
title | ボックスのタイトルバーに表示する文字列(省略可) | "MicrosoftExcel(Access)" |
helpfile | cpmtextとともに必要。ボックスの[ヘルプ]ボタンから開くヘルプファイルを指定(省略可) | なし |
context | helpfileとともに必要。ヘルプ内のコンテキスト番号を指定(省略可) | なし |
■buttons引数のアイコン一覧
定数 | 値 | イメージ |
---|---|---|
vbCritical | 16 | |
vbQuestion | 32 | |
vbExclamation | 48 | |
vbInformation | 64 |
■buttons引数のボタン種類一覧
定数 | 値 | イメージ |
---|---|---|
vbOKOnly | 0 | |
vbOkCancel | 1 | |
vbAbortRetryIgnore | 2 | |
vbYesNoCancel | 3 | |
vbYesNo | 4 | |
vbRetryCancel | 5 |
■戻り値一覧(Long型)
定数 | 値 | 押されたボタン |
---|---|---|
vbOK | 1 | OK |
Cancel | 2 | キャンセル |
vbAbort | 3 | 中止 |
vbRetry | 4 | 再試行 |
vbIgnor | 5 | 無視 |
vbYes | 6 | はい |
vbNo | 7 | いいえ |
(例)
引数の順番:MsgBox(prompt,buttons,title,helpfle,context)
ポイント:ボタンとアイコンは両方「buttons」の引数となるため、両方設定するときは
ボタンの定数 + アイコンの定数(vbOKOnly + vbCritical)の様に記述する
Sub msgboxTest() Dim res As Long res = MsgBox("中止します", vbOKOnly + vbCritical, "テスト") MsgBox res If res = vbOK Then MsgBox "定数vbOkの値は1" End If End Sub
(例)頻繁に同じアイコンとボタンの組み合わせを使用してメッセージボックスを使用するとき,いちいち引数のコードを書くのが面倒なのでにメッセージボックスをオーバーライドっぽく部品化
Function fncMsgbox(prompt As String) As VbMsgBoxResult fncMsgbox = VBA.MsgBox(prompt, vbInformation + vbYesNo) End Function
Sub testMsg() fncMsgbox "部品化テスト" End Sub
※MsgBoxの戻り値は「VbMsgBoxResult」で内部処理形式がLong型。
戻り値はLong型でも可能だがvbMsgBoxResult型を使用することでインテリセンスが利用可能となるメリットがある。