📅  最后修改于: 2021-01-11 14:20:48             🧑  作者: Mango
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窗口上的运行按钮来执行上述函数。它在消息框中显示一个“欢迎”消息框和一个“确定”按钮。
单击“确定”按钮后,将显示另一个对话框,并显示消息“您喜欢红色吗”, “是”,“否”和“取消”按钮。
单击任何按钮(例如,是)之后,该按钮的值将存储为整数。并向用户显示一个弹出消息框,如下所示。使用此值,我们可以了解用户单击了哪个按钮。