- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课VBA信息函数Msgbox
PAGE13 / NUMPAGES13
第七课:信息函数Msgbox
输入输出语句是VBA中应用最广也是最简单的两种语句,本课时主要介绍两种输出语句的语法和思路,下一课时则介绍两种输入语句的语法和应用思路。
本课时内容摘自 HYPERLINK html \o 京东网订购地址 《Excel VBA程序开发自学宝典(第2版)》第10章
Msgbox函数的功能及作用
VBA最常见的信息输出方式是使用Msgbox函数,在任何VBA的书籍中,它所出现的频率都是最高的。
在英文中,Msg表示Message,即消息,而Msgbox则表示信息框。
顾名思义,Msgbox是用于在屏幕中显示某些信息的对话框,告诉用户需要做什么,或者提示程序的运算结果,或者某操作的步骤说明等,它的作用极其广泛。
站在VBA开发者立场,对Msgbox函数的功能可做以下分类:
返回运算结果
告诉用户VBA的运算结果通常有三种模式:存入工作表、打印到文件和利用消息框返回结果。通常对于临时性的、不需要储存的信息可以利用对话框来展示,它的特点是关闭窗口后就完全消失,不占用任何内存空间。
询问执行方式
对于某些有多种执行选项的操作,例如“隔行着色工作表”工具,它可以对奇数行着色,也可以对偶数行着色,为了体现程序的通用性和灵活性时,往往弹出一个提示框让用户选择执行方式,这是最佳的程序开发思路。
例如下图中,用户单击不同按钮时,VBA会执行不同的着色方式:
图7.1 利用Msgbox询问执行方式
提示执行步骤
在设计VBA程序时,如果后续需执行的操作较复杂,应该通过一个消息框来提示用户。包括该程序大概有多少步骤,各步骤中需要注意哪些问题,或者在什么情况下需要跳过什么步骤等,从而减少程序出错的机率。
告知错误原因
终端用户在执行VBA程序时,总会有或多或少的错误产生。有时是程序员粗心写错代码造成,有时是代码的兼容性造成,有时是代码完全正确但用户的数据不规范造成。而VBA很多时候返回的错误提示让人摸不着头脑,程序员有必要预先设置更有意义的错误提示,告诉用户产生此错误的可能情况。
例如,当工作表保护时执行以下语句,一定会产生错误提示:
Sub 创建新表()
Sheets.Add
End Sub
图7.2 工作簿保护时创建新表失败的提示
从图片和代码进行分析,错误提示与代码实际出错的原因风马牛不相及,这完全不利于终端用户了解程序出错的原因。为了避免这种差错,开发程序者需要通过一个信息框来展示更有意义的错误提示。
可以按这个思路修改代码:
Sub 创建新表()
If ActiveWorkbook.ProtectStructure Then
MsgBox 当前工作簿被保护,禁止新建工作表
Else
Sheets.Add
End If
End Sub
下图是修改后的提示框,用户可以立刻明白错误产生的原因。
图7.3 定义更有意义的提示框
展示当前状态
类似于DOS程序中“请按任意键继续……”一样,VBA也可以在程序执行时显示当前的状态,然后当用户单击回车后再继续执行。
设计程序帮助
Excel自身的所有功能都有相应的说明信息,利用VBA开发程序时也需要设计一帮助系统,不管这个系统大小如何,一定要有相应的说明。通常包括三方面的内容:
(1)程序功能说明。
(2)程序版本及各版本修改内容阐述。
(3)本程序适用范围,即兼容哪些Office版本,或者适用哪个行业。
当然,利用Msgbox制作帮助界面受字符长度限制,只能提供一些简单且简短的信息。
Msgbox函数的语法
Msgbox用于在对话框中显示消息,等待用户单击按钮,并返回一个Integer类型的值。当用户单击其中的按钮后将返回信息给VBA,程序员可以根据这个返回值来决定后续的操作。
Msgbox的语法
Msgbox的具体语法如下:
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
表 7-1 Msgbox函数的参数说明
参数说明Prompt它将输出到对话框中,显示在屏幕上,通常表示告诉用户某个信息。它的最大长度大约为 1024 个字符,由所用字符的宽度决定。Buttons它表示按钮的个数、样式和排列方式,以及默认按钮是哪一个,采用数值表示。Title在对话框标题栏中显示的字符串表达式。如果省略 title,则将应用程序名放在标题栏中。Helpfile字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。Context数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。
以下代码(放置位置:模块中)是Msgbox函数的最常
文档评论(0)