VBA 消息框

2025年3月17日 | 阅读 3 分钟

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

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

它为最终用户提供了一种与工作簿交互的方式。 它可以是给用户的简单警报,也可以是需要用户执行操作才能继续的复杂操作。

语法

Prompt: (必需参数) 指的是在对话框中显示为消息的文本。 发布的消息的最大长度大约为 1024 个字符。 如果单词超出定义的范围,则将使用回车符 (Chr(13)) 或换行符 (Chr(10)) 在每行之间分隔消息。

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

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

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

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

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

Constant描述
vbOKOnly0仅显示 确定 按钮
vbOKCancel1显示 确定取消 按钮
vbAbortRetryIgnore2显示中止、重试忽略 按钮
vbYesNoCancel3显示 是、否取消 按钮
vbYesNo4显示 按钮
vbRetryCancel5显示 重试取消 按钮
vbCritical16显示 严重消息 图标
vbQuestion32显示 警告查询 图标
vbExclamation48显示 警告消息 图标
VbInformation64显示 信息消息 图标
vbDefaultButton10第一个按钮是默认按钮
vbDefaultButton2256第二个按钮是默认按钮
vbDefaultButton3512第三个按钮是默认按钮
vbDefaultButton4768第四个按钮是默认按钮
vbApplicationModal0用户必须响应消息框
vbSystemModal4096所有应用程序都将暂停,直到用户响应消息框
vbMsgBoxHelpButton16384向消息框添加 帮助 按钮
vbMsgBoxSetForeground65536将消息框窗口指定为前台窗口
vbMsgBoxRight524288文本是八位对齐的
vbMsgBoxRtlReading1048576指定文本在阿拉伯语和希伯来语系统中应显示为从右到左的阅读顺序

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

返回值

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

Constant描述
vbOK1OK
vbCancel2Cancel (取消)
vbAbort3中止
vbRetry4重试
vbIgnore5忽略
vbYes6是的
vbNo7不能

示例

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

VBA MsgBox

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

VBA MsgBox

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

VBA MsgBox

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

VBA MsgBox
下一主题VBA 注释