Skip to content

弹框大法

MsgBox 是 VBScript 中最常用的对话框函数之一,用于向用户显示消息并获取简单的用户响应。下面是 MsgBox 的完整用法指南。

🕊️ 基本语法

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

🕊️ 参数说明

参数描述
prompt必需。字符串表达式,显示在对话框中的消息
buttons可选。数值表达式,指定按钮类型和图标样式
title可选。显示在对话框标题栏中的字符串
helpfile可选。字符串表达式,标识帮助文件
context可选。数值表达式,标识帮助主题上下文 ID

🕊️ 按钮类型 (buttons 参数)

按钮类型使用常量或数值表示:

常量描述
vbOKOnly0只显示确定按钮 (默认)
vbOKCancel1显示确定和取消按钮
vbAbortRetryIgnore2显示终止、重试和忽略按钮
vbYesNoCancel3显示是、否和取消按钮
vbYesNo4显示是和否按钮
vbRetryCancel5显示重试和取消按钮

🕊️ 图标样式

常量描述
vbCritical16显示关键消息图标 (X)
vbQuestion32显示警告查询图标 (?)
vbExclamation48显示警告消息图标 (!)
vbInformation64显示信息消息图标 (i)

🕊️ 默认按钮

常量描述
vbDefaultButton10第一个按钮是默认按钮
vbDefaultButton2256第二个按钮是默认按钮
vbDefaultButton3512第三个按钮是默认按钮
vbDefaultButton4768第四个按钮是默认按钮

🕊️ 其他选项

常量描述
vbApplicationModal0应用程序模式对话框 (默认)
vbSystemModal4096系统模式对话框

🕊️ 返回值处理

MsgBox 返回用户点击的按钮值:

常量描述
vbOK1用户点击了确定
vbCancel2用户点击了取消
vbAbort3用户点击了终止
vbRetry4用户点击了重试
vbIgnore5用户点击了忽略
vbYes6用户点击了是
vbNo7用户点击了否

🕊️ 注意事项

  1. MsgBox 在 VBScript 中是函数,在 VBA 中也是函数,但在某些环境中可能是语句
  2. 在 WSH (Windows Script Host) 环境中使用 MsgBox 时,对话框是模态的
  3. 最大消息长度约为 1024 个字符
  4. 标题最大长度约为 256 个字符
  5. 在网页中使用 VBScript 的 MsgBox 时,行为可能不同

🕊️ 示例

简单消息框

vb
MsgBox "这是一个简单的消息框"

带标题的消息框

vb
MsgBox "这是一个带标题的消息框", , "系统提示"

组合使用

vb
' 显示是/否按钮,带问号图标,第二个按钮为默认
response = MsgBox("确定要删除此文件吗?", vbYesNo + vbQuestion + vbDefaultButton2, "确认删除")

' 显示确定/取消按钮,带警告图标
response = MsgBox("磁盘空间不足!", vbOKCancel + vbExclamation, "系统警告")

' 显示重试/取消按钮,带错误图标
response = MsgBox("连接服务器失败", vbRetryCancel + vbCritical, "错误")

返回值处理示例

vb
response = MsgBox("是否继续?", vbYesNo + vbQuestion, "确认")

If response = vbYes Then
    WScript.Echo "用户选择了是"
Else
    WScript.Echo "用户选择了否"
End If

多行消息 | 使用 vbCrLfChr(13) & Chr(10) 创建多行消息:

vb
MsgBox "第一行" & vbCrLf & "第二行" & vbCrLf & "第三行", , "多行消息"

使用变量构建消息

vb
userName = "张三"
fileCount = 5
MsgBox "用户 " & userName & " 有 " & fileCount & " 个文件待处理", vbInformation, "文件统计"

长消息自动换行

vb
longMsg = "这是一个非常长的消息,将会自动换行显示。" & _
          "VBScript的MsgBox会自动处理长文本的换行问题。" & _
          "不需要手动添加换行符。"

MsgBox longMsg, vbInformation, "长消息示例"

使用帮助文件

vb
' 需要提供有效的帮助文件路径
MsgBox "点击帮助按钮查看详情", vbOKCancel + vbInformation + vbMsgBoxHelpButton, "帮助示例", "C:\help\helpfile.chm", 1001