📜  VBA MsgBox

📅  最后修改于: 2021-01-11 14:20:48             🧑  作者: Mango

VBA消息框

MsgBox是excel VBA中的一个对话框,可用于通知程序用户。

它显示一个弹出样式的消息框,并等待用户单击按钮,然后根据用户单击的按钮执行操作。

它为最终用户提供了一种与工作簿进行交互的方式。对于用户而言,这可能是简单的警报,也可能是复杂的,需要用户采取措施。

句法

Msgbox (prompt, [buttons], [title], [helpfile, context])

提示:(必填参数)它表示在对话框中显示为消息的文本。已发布消息的最大长度大约为1024。如果单词穿过限定的范围,则该消息将使用回车字符(CHR(13))或各行之间的换行字符(CHR(10))划分。

按钮:(可选参数)它表示一个数字表达式,用于显示按钮的类型,使用图标的样式,默认按钮的标识以及消息框的形式。如果按钮的左侧为空白,则按钮的默认值为零。

标题:(可选参数)对话框的标题栏显示字符串表达式。如果对话框的左侧为空白,则应用程序名称将放置在标题栏中。

Helpfile:一个字符串参数,用于标识用于为对话框提供上下文相关帮助的帮助文件。

上下文:帮助作者将帮助上下文编号分配给适当的主题。如果提供了上下文,则还必须提供帮助文件。

我们可以通过按钮参数以多种方式配置消息框。如下表所示,例如:

Constant Value Description
vbOKOnly 0 Display OK button only
vbOKCancel 1 Display OK and Cancel buttons
vbAbortRetryIgnore 2 Display Abort, Retry and Ignore buttons
vbYesNoCancel 3 Display Yes, No, and Cancel buttons
vbYesNo 4 Display Yes and No buttons
vbRetryCancel 5 Display Retry and Cancel buttons
vbCritical 16 Display Critical Message icon
vbQuestion 32 Display Warning Query icon
vbExclamation 48 Display Warning Message icon
VbInformation 64 Display Information Message icon
vbDefaultButton1 0 The first button is default
vbDefaultButton2 256 The second button is default
vbDefaultButton3 512 The third button is default
vbDefaultButton4 768 The fourth button is default
vbApplicationModal 0 The user must respond to the message box
vbSystemModal 4096 All applications are suspended until the user responds to the message box
vbMsgBoxHelpButton 16384 Adds Help button to the message box
vbMsgBoxSetForeground 65536 Specifies the message box window as the foreground window
vbMsgBoxRight 524288 Text is eight-aligned
vbMsgBoxRtlReading 1048576 Specifies text should appear as right-to-left reading on Arabic and Hebrew systems

上述值分为四组,第一组值(0-5)描述对话框中显示的按钮的数量和类型。第二组值(16、32、48和64)说明了图标样式。第三组值(0、256和512)确定哪个按钮是默认按钮。消息框的形式在第四组(0、4096)中定义。我们只能在每个组中添加一个数字来为buttons参数创建最终值。

返回值

MsgBox函数从以下值中返回任何一个值,该值用于标识按钮。用户唯一要做的就是在消息框中单击。

Constant Value Description
vbOK 1 OK
vbCancel 2 Cancel
vbAbort 3 Abort
vbRetry 4 Retry
vbIgnore 5 Ignore
vbYes 6 Yes
vbNo 7 No

例子

假设我们要显示一个带有“是”,“否”和“取消”按钮的消息框,如下面的代码所示:

通过单击VBA窗口上的运行按钮来执行上述函数。它在消息框中显示一个“欢迎”消息框和一个“确定”按钮。

单击“确定”按钮后,将显示另一个对话框,并显示消息“您喜欢红色吗”, “是”,“否”“取消”按钮。

单击任何按钮(例如,是)之后,该按钮的值将存储为整数。并向用户显示一个弹出消息框,如下所示。使用此值,我们可以了解用户单击了哪个按钮。