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

语法

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

参数说明

  • Prompt - 必需的参数。这显示在对话框中的消息的字符串。 prompt 最大长度大约是1024个字符。如果消息扩展到多行,那么可以单独使用回车符(CHR(13))或每行之间的换行符(CHR(10))。

  • buttons - 一个可选的参数。数值表达式,用于指定按钮的类型来显示,图标样式使用,默认按钮的标识以及消息框的样式。如果留空,对于按钮的默认值是0。

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

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

  • context - 一个可选的参数。数值表达式,用于标识由帮助文件的作者指定给适当的帮助主题的上下文编号。如果上下文中提供帮助文件,此项还必须提供。

按钮参数可以采用任何的下列值:

  • 0 vbOKOnly只显示OK按钮。

  • 1 vbOKCancel显示确定和取消按钮。

  • 2 vbAbortRetryIgnore显示放弃,重试和忽略按钮。

  • 3 vbYesNoCancel Displays Yes, No, and Cancel buttons.

  • 4 vbYesNoCancel显示是,否和取消按钮。

  • 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)描述的图标的sytle要被显示,第三组(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
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工作表函数,如下图所示执行。

2.一个简单的消息框将显示一条消息,“Welcome”和“OK”按钮:

3.单击确定后,另一个对话框将显示一条消息,“yes, no, 和 cancel”按钮。

4.单击取消按钮键的值之后(7)被存储为一个整数,如下所示显示消息框给用户。使用该值,我们就能够知道哪个按钮用户点击。

VBA消息框的更多相关文章

  1. VBA消息框(MsgBox)(五)

    MsgBox函数显示一个消息框,并等待用户点击一个按钮,然后根据用户点击的按钮执行相关的操作. 语法 MsgBox(prompt[,buttons][,title][,helpfile,context ...

  2. VBA 学习笔记 - 消息框

    学习资料:https://www.yiibai.com/vba/vba_macro_comments.html 注释 单引号或 REM 开头 丸子:多行注释咋办? 消息框(MsgBox) 函数功能:显 ...

  3. 一步步开发自己的博客 .NET版(10、前端对话框和消息框的实现)

    关于前端对话框.消息框的优秀插件多不胜数.造轮子是为了更好的使用轮子,并不是说自己造的轮子肯定好.所以,这个博客系统基本上都是自己实现的,包括日志记录.响应式布局.评论功能等等一些本可以使用插件的.好 ...

  4. WPF弹出带蒙板的消息框

    效果图 思路 拿到父级窗体的内容,放入一个容器里,再在容器里放入一个半透明层.将整个容器赋给父级窗体的内容. 关闭时反向操作. 代码 消息窗弹出时 /// <summary> /// 弹出 ...

  5. JavaScript (If...Else和Switch和循环遍历) 语句以及常用消息框

    If...Else 语句 JavaScript中if...else语句和Java中的语法和使用方法是一样的. 只是在JavaScript中要使用小写字母.使用大写的 IF 会出错! 至于if...el ...

  6. 【C#】分享一个可携带附加消息的增强消息框MessageBoxEx

    --------------201507160917更新--------------- 无意中发现标准消息框在Windows7是有声音的,只是在Windows server 2008(R2)无声,而我 ...

  7. JavaScript 消息框+特殊字符

    JavaScript 中创建三种消息框:警告框.确认框.提示框: 1.警告框: 警告框经常用于确保用户可以得到某些信息. 当警告框出现后,用户需要点击确定按钮才能继续进行操作 语法:alert(&qu ...

  8. WPF自定义控件与样式(13)-自定义窗体Window & 自适应内容大小消息框MessageBox

    一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: 自定义 ...

  9. jQuery动态提示消息框效果

    效果预览:http://keleyi.com/keleyi/phtml/jqtexiao/2.htm 原文:http://keleyi.com/a/bjac/hxv86dyi.htm <!DOC ...

随机推荐

  1. org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)

    通过start.spring.io下载maven工程导入eclipse后,出现pom文件错误: org.codehaus.plexus.archiver.jar.Manifest.write(java ...

  2. vue mand-mobile ui Stepper步进器默认值传字符串进去不起作用

    vue mand-mobile ui Stepper步进器默认值传字符串进去不起作用 Stepper 步进器 的默认值有没有弄过的,看了组件只能默认数字的,传字符串进去不起作用<div slot ...

  3. 自制电脑usb红外遥控键盘

    2010-08-08 19:20:00 看个ppt,还要一直按键盘或鼠标,能不能拿个遥控器控制一下. 动动脑,自己做一个吧. 电路分2部分,遥控器为发射部分,单片机为解码部分并且包含usb键盘功能. ...

  4. 使用go语言数据库

    1.下载并导入数据库驱动包(注意配置环境变量.数据库.go.以及ENV) 这里选择了Go-MySQL-Driver这个实现.地址是:https://github.com/go-sql-driver/m ...

  5. C++反射实现(转)

    参考了wxWidgets的相关代码,并进行简化,同时借鉴了网上的相关内容,改进之处在于,只需要继承基本类Object,在类的头文件中定义宏,DECLARE_CLASS(类名),在类的实现文件中定义宏, ...

  6. QQ"坦白说"抓包破解与PacketCapture使用介绍

    据腾讯发布内容来看,“坦白说”是刚刚在QQ中上线的新功能,还在测试阶段就已经非常火爆. 但作为一种web端的小游戏,无疑可以使用爬虫的来自我模拟. (话说写完这篇的时候我总感觉自己几年前好像写过这个. ...

  7. PHP遍历目录和文件及子目录和文件

    正常直接使用opendir方法,就可以读到所有的目录和文件 文件可以直接记录下来,目录则需要再进一步获取里边的文件信息 也就是,如果当前读出来是目录,则需要再次调用函数本身(递归),直到没有目录 循环 ...

  8. 在数据库级别还是在service层进行级联删除

    在数据库配置级联删除的话,父表删除子表也删除.但是应该将维护代码放在一处,不要在service上删除父表,而在数据库层面级联删除子表,应该都在service层上进行删除.

  9. 【C++】C++未定义行为

    未定义行为:语言标准没有规定,编译器自行决定的行为,在不同的编译器上有时会有不同的结果. 1: int i=0; i=i++; 我们知道i++会返回i之后再自增,那么程序运行完i为多少? 解释一:i= ...

  10. linux中使用ifconfig命令查看网卡信息时显示为eth1,但是在network-scripts中只有ifcfg-eth0的配置文件,并且里面的NAME="eth0"。

    除了题目中的问题,其实在执行命令:service network restart时,会报错: 解决办法: 首先需要修改70-persistent-net.rules文件: vim /etc/udev/ ...