MsgBox
函数显示一个消息框,并等待用户点击一个按钮,然后根据用户点击的按钮执行相关的操作。
5.1 语法
MsgBox(prompt[,buttons][,title][,helpfile,context])
5.2 参数说明
- prompt - 必需的参数。在对话框中显示为消息的字符串。提示的最大长度大约为
1024
个字符。 如果消息扩展为多行,则可以使用每行之间的回车符(Chr(13)
)或换行符(Chr(10)
)来分隔行。 - buttons - 可选参数。一个数字表达式,指定要显示的按钮的类型,要使用的图标样式,默认按钮的标识以及消息框的形式。如果留空,则按钮的默认值为
0
。 - title - 可选参数。 显示在对话框的标题栏中的字符串表达式。 如果标题留空,应用程序名称将被放置在标题栏中。
- helpfile - 可选参数。一个字符串表达式,标识用于为对话框提供上下文相关帮助的帮助文件。
- Context - 可选参数。一个数字表达式,用于标识由帮助作者分配给相应帮助主题的帮助上下文编号。 如果提供上下文,则还必须提供
helpfile
。
Buttons 参数可以使用以下任何值 -
- 0 vbOKOnly - 仅显示“确定” 按钮。
- 1 vbOKCancel - 显示“确定” 和“取消” 按钮。
- 2 vbAbortRetryIgnore - 显示“中止”,“重试”和“忽略” 按钮。
- 3 vbYesNoCancel - 显示“是”,“否”和“取消” 按钮。
- 4 vbYesNo - 显示“是”和“否”按钮。
- 5 vbRetryCancel - 显示“重试”和“取消”按钮。
- 16 vbCritical - 显示严重消息图标。
- 32 vbQuestion - 显示警告查询图标。
- 48 vbExclamation - 显示警告消息图标。
- 64 vbInformation - 显示信息消息图标。
- 0 vbDefaultButton1 - 第一个按钮是默认的。
- 256 vbDefaultButton2 - 第二个按钮是默认的。
- 512 vbDefaultButton3 - 第三个按钮是默认的。
- 768 vbDefaultButton4 - 第四个按钮是默认的。
- 0 vbApplicationModal 应用程序模式 - 当前的应用程序将不会工作,直到用户响应消息框。
- 4096 vbSystemModal 系统模式 - 所有的应用程序将不会工作,直到用户响应消息框。
上述值在逻辑上分为四组:第一组(0
至5
)指示要在消息框中显示的按钮。第二组(16
,32
,48
,64
)描述要显示的图标的样式,第三组(0
,256
,512
,768
)指示哪个按钮必须是默认的,第四组(0
,4096
)确定消息框的形式。
5.3 返回值
MsgBox
函数可以返回以下值之一,可用于标识用户在消息框中单击的按钮。
- vbOK - 确定 按钮被点击。
- vbCancel - 取消 按钮被点击。
- vbAbort - 中止 按钮被点击。
- vbIgnore - 忽略 按钮被点击。
- vbYes - 是 按钮被点击。
- vbNo - 否 按钮被点击。
5.4 示例
Function MessageBoxDemo()
'Message Box with just prompt message '
MsgBox("欢迎您~")
'Message Box with title, yes no and cancel Butttons '
result = MsgBox("你喜欢蓝色吗?", 3, "选择一个选项")
' Assume that you press No Button '
MsgBox ("返回 result 的值是:" &result)
End Function
5.5 输出结果
第1步 - 上述功能函数可以通过单击VBA窗口上的“运行”按钮或通过从Excel工作表调用函数来执行,如以下屏幕截图所示 -
运行子程序 -
第2步 - 显示一个简单的消息框,并显示消息“欢迎”和“确定”按钮
第3步 - 点击确定后,另一个对话框会显示一个消息,同时显示“是,否和取消”按钮。
第4步 - 点击“否”按钮后,该按钮(7
)的值将被存储为一个整数,并显示为一个消息框给用户,如以下屏幕截图所示。使用这个值,可以理解用户点击了哪个按钮。