当前位置: 首页 > 教程 > VBA >

VBA消息框(MsgBox)

精华
小牛编辑
119浏览
2023-03-14

MsgBox函数显示一个消息框,并等待用户点击一个按钮,然后根据用户点击的按钮执行相关的操作。

语法

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

参数说明

  • prompt - 必需的参数。在对话框中显示为消息的字符串。提示的最大长度大约为1024个字符。 如果消息扩展为多行,则可以使用每行之间的回车符(Chr(13))或换行符(Chr(10))来分隔行。
  • buttons - 可选参数。一个数字表达式,指定要显示的按钮的类型,要使用的图标样式,默认按钮的标识以及消息框的形式。如果留空,则按钮的默认值为0
  • title - 可选参数。 显示在对话框的标题栏中的字符串表达式。 如果标题留空,应用程序名称将被放置在标题栏中。
  • helpfile - 可选参数。一个字符串表达式,标识用于为对话框提供上下文相关帮助的帮助文件。
  • Context - 可选参数。一个数字表达式,用于标识由帮助作者分配给相应帮助主题的帮助上下文编号。 如果提供上下文,则还必须提供helpfile

Buttons 参数可以使用以下任何值 -

  • 0 vbOKOnly - 仅显示“确定” 按钮。
  • 1 vbOKCancel - 显示“确定”“取消” 按钮。
  • 2 vbAbortRetryIgnore - 显示“中止”“重试”“忽略” 按钮。
  • 3 vbYesNoCancel - 显示“是”“否”“取消” 按钮。
  • 4 vbYesNo - 显示“是”“否”按钮。
  • 5 vbRetryCancel - 显示“重试”“取消”按钮。
  • 16 vbCritical - 显示严重消息图标。
  • 32 vbQuestion - 显示警告查询图标。
  • 48 vbExclamation - 显示警告消息图标。
  • 64 vbInformation - 显示信息消息图标。
  • 0 vbDefaultButton1 - 第一个按钮是默认的。
  • 256 vbDefaultButton2 - 第二个按钮是默认的。
  • 512 vbDefaultButton3 - 第三个按钮是默认的。
  • 768 vbDefaultButton4 - 第四个按钮是默认的。
  • 0 vbApplicationModal 应用程序模式 - 当前的应用程序将不会工作,直到用户响应消息框。
  • 4096 vbSystemModal 系统模式 - 所有的应用程序将不会工作,直到用户响应消息框。

上述值在逻辑上分为四组:第一组(05)指示要在消息框中显示的按钮。第二组(16,32,48,64)描述要显示的图标的样式,第三组(0,256,512,768)指示哪个按钮必须是默认的,第四组(0,4096 )确定消息框的形式。

返回值

MsgBox函数可以返回以下值之一,可用于标识用户在消息框中单击的按钮。

  • vbOK - 确定 按钮被点击。
  • vbCancel - 取消 按钮被点击。
  • vbAbort - 中止 按钮被点击。
  • vbIgnore - 忽略 按钮被点击。
  • vbYes - 按钮被点击。
  • vbNo - 按钮被点击。

示例

Function MessageBoxDemo() 
   'Message Box with just prompt message '
   MsgBox("欢迎您~")     

   'Message Box with title, yes no and cancel Butttons  '
   result = MsgBox("你喜欢蓝色吗?", 3, "选择一个选项") 

   ' Assume that you press No Button  '
   MsgBox ("返回 result 的值是:" &result) 
End Function

输出结果

第1步 - 上述功能函数可以通过单击VBA窗口上的“运行”按钮或通过从Excel工作表调用函数来执行,如以下屏幕截图所示 -

运行子程序 -

第2步 - 显示一个简单的消息框,并显示消息“欢迎”和“确定”按钮

第3步 - 点击确定后,另一个对话框会显示一个消息,同时显示“是,否和取消”按钮。

第4步 - 点击“否”按钮后,该按钮(7)的值将被存储为一个整数,并显示为一个消息框给用户,如以下屏幕截图所示。使用这个值,可以理解用户点击了哪个按钮。