MsgBox 函数

在对话框中显示消息,等待用户单击按钮,并返回一个整数,指示用户单击的哪个按钮。

注意

有兴趣开发跨多个平台扩展 Office 体验的解决方案吗? 查看新的 Office 外接程序模型。 与VSTO外接程序和解决方案相比,Office外接程序占用的空间较小,您可以使用几乎任何Web编程技术(例如HTML5,JavaScript,CSS3和XML)来构建它们。

语法

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

MsgBox 函数语法具有以下命名参数

部分 说明
prompt 必需项。 字符串表达式在对话框中显示为消息。 prompt 的最大长度约为 1024 个字符,具体取决于所使用的字符的宽度。 如果 prompt 包含两行以上,则可以在每行之间使用回车符 (Chr(13))、换行符 (Chr(10)) 或回车换行符组合 (Chr(13) & Chr(10)) 将其分隔。
buttons 可选。 数值表达式,用于指定要显示按钮的数量和类型、要使用的图标样式、默认按钮的标识和消息框的形式的值的组合。 如果省略,则 buttons 的默认值为 0。
title 可选。 对话框标题栏中显示的字符串表达式。 如果省略 title,则标题栏中将显示应用程序名称。
helpfile 可选。 用于标识帮助文件的字符串表达式,前者用于为对话框提供上下文相关的帮助。 如果提供 helpfile,则也必须提供 context
context 可选。 帮助上下文数值的数值表达式,该数值由帮助作者为相应的帮助主题分配。 如果提供 context,则也必须提供 helpfile

设置

按钮参数设置包括:

常量 说明
vbOKOnly 0 仅显示“确定”按钮。
vbOKCancel 1 显示“确定”和“取消”按钮。
vbAbortRetryIgnore 2 显示“中止”、“重试”和“忽略”按钮。
vbYesNoCancel 3 显示“”、“”和“取消”按钮。
vbYesNo 4 显示“”和“”按钮。
vbRetryCancel 5 显示“重试”和“取消”按钮。
vbCritical 16 显示“关键消息”图标。
vbQuestion 32 显示“警告查询”图标。
vbExclamation 48 显示“警告消息”图标。
vbInformation 64 显示“信息消息”图标。
vbDefaultButton1 0 第一个按钮是默认按钮。
vbDefaultButton2 256 第二个按钮是默认按钮。
vbDefaultButton3 512 第三个按钮是默认按钮。
vbDefaultButton4 768 第四个按钮是默认按钮。
vbApplicationModal 0 应用程序模式;用户在继续在当前应用程序中工作前必须响应消息框。
vbSystemModal 4096 系统模式;在用户响应消息框前,所有应用程序都挂起。
vbMsgBoxHelpButton 16384 在消息框中添加“帮助”按钮。
vbMsgBoxSetForeground 65536 将消息框窗口指定为前景窗口。
vbMsgBoxRight 524288 文本右对齐。
vbMsgBoxRtlReading 1048576 指定文本在希伯来语和阿拉伯语系统中应从右到左显示。

第一组值 (0-5) 表示对话框中显示的按钮的数量和类型;第二组值(16、32、48、64)表示图标样式;第三组值(0、256、512)用于确定默认按钮;第四组值(0、4096)用于确定消息框的形式。 合并数字以创建最终 buttons 参数值时,只是用每个组中的其中一个数值。

注意

这些常量VbMsgBoxStyle 枚举中的Visual Basic for Applications指定。 因此,名称可代替实际值在代码中的任意位置使用。

返回值

返回值在 VbMsgBoxResult 枚举中定义。

常量 说明
vbOK 1 确定
vbCancel 2 Cancel
vbAbort 3 中止
vbRetry 4 重试
vbIgnore 5 忽略
vbYes 6
vbNo 7

注释

同时提供有 helpfilecontext 时,用户可以按 F1 (Windows) 或 HELP (Macintosh) 以查看与 context 对应的帮助主题。 某些主机应用程序(例如,Microsoft Excel)还会在对话框中自动添加“帮助”按钮。

如果对话框中显示“取消”按钮,按 ESC 键与单击“取消”具有相同的作用。 如果对话框中包含“帮助”按钮,则会为对话框提供上下文相关帮助。 但是,在单击其他按钮中的某个按钮之前不会返回任何值。

注意

要指定第一个命名参数以外的其他参数,必须在表达式中使用 MsgBox。 要省略某些位置参数,必须包含相应的逗号分隔符。

示例

此示例使用 MsgBox 函数,在具有“”和“”按钮的对话框中显示严重错误消息。 指定的默认响应为选择“”按钮。 MsgBox 函数返回的值取决于用户选择的按钮。 此示例假定 DEMO.HLP 为帮助文件,该文件包含帮助上下文数值等于 1000 的主题。

Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "Do you want to continue ?"    ' Define message.
Style = vbYesNo Or vbCritical Or vbDefaultButton2    ' Define buttons.
Title = "MsgBox Demonstration"    ' Define title.
Help = "DEMO.HLP"    ' Define Help file.
Ctxt = 1000    ' Define topic context. 
        ' Display message.
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then    ' User chose Yes.
    MyString = "Yes"    ' Perform some action.
Else    ' User chose No.
    MyString = "No"    ' Perform some action.
End If

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。