VBA - 消息框


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

句法

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

参数说明

  • 提示- 必需的参数。在对话框中显示为消息的字符串。提示的最大长度约为 1024 个字符。如果消息超出一行,则可以在每行之间使用回车符 (Chr(13)) 或换行符 (Chr(10)) 分隔行。

  • 按钮- 可选参数。一个数字表达式,指定要显示的按钮类型、要使用的图标样式、默认按钮的标识以及消息框的形式。如果留空,则按钮的默认值为 0。

  • 标题- 可选参数。显示在对话框标题栏中的字符串表达式。如果标题留空,则应用程序名称将放置在标题栏中。

  • 帮助文件- 可选参数。一个字符串表达式,标识用于为对话框提供上下文相关帮助的帮助文件。

  • 上下文- 可选参数。一个数字表达式,用于标识帮助作者分配给相应帮助主题的帮助上下文编号。如果提供了上下文,则还必须提供帮助文件。

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 系统模态 - 在用户响应消息框之前,所有应用程序都无法工作。

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

返回值

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

  • 1 - vbOK - 单击“确定”
  • 2 - vbCancel - 单击取消
  • 3 - vbAbort - 单击中止
  • 4 - vbRetry - 单击重试
  • 5 - vbIgnore - 单击忽略
  • 6 - vbYes - 单击“是”
  • 7 - vbNo - 没有被点击

例子

Function MessageBox_Demo() 
   'Message Box with just prompt message 
   MsgBox("Welcome")     
   
   'Message Box with title, yes no and cancel Butttons  
   int a = MsgBox("Do you like blue color?",3,"Choose options") 
   ' Assume that you press No Button  
   msgbox ("The Value of a is " & a) 
End Function

输出

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

VBA 中的消息框

步骤 2 - 显示一个简单消息框,其中包含消息“欢迎”和“确定”按钮

VBA 中的消息框

步骤 3 - 单击“确定”后,将显示另一个对话框,其中包含一条消息以及“是、否和取消”按钮。

VBA 中的消息框

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

VBA 中的消息框