MsgBox函数

来源:百度文库 编辑:神马文学网 时间:2024/05/02 18:14:35
你也许一直认为显示消息框需要长时间的程序设计,这种观点是完全错误的。要创建消息框,可用如下VBA代码:
Msgbox "Do you wish to save the changes to '" &_
ThisWorkbook.Name &" '", vbYesNoCancel + vbExclamation
代码中的ThisWorkbook.Name用来获取当前工作簿的名字。
MsgBox函数可用于在对话框中显示信息。一旦显示出来,消息框将一直保持,直至用户单击某个按钮为止。根据用户单击的按钮,会返回不同的整数值。 MsgBox函数的语法如下:
MsgBox(prompt[,buttons][,title][,helpfile,context])
这个函数必须具有的参数只有prompt。prompt的值是将在对话框中作为信息显示的字符串。注意在给出的语法中括号的运用。MsgBox是一个函数,这意味着它将返回一个值。在前面给出的例子中并没有括号。如果去掉函数参数的括号,就是在告诉 V B A不需要函数的返回值。如果希望获得返回值,可使用和下面相似的代码:
Dim iResponse As Integer
IResponse=MsgBox("Do you wish to save the changes to '" & _
This Workbook.Name &" '", vbYesNoCancel + vbExclamation)   现在MsgBox语句被分成了两行。VBA中的续行号是空格加下划线。
如果没有为buttons参数提供数值,默认设置下,VBA假设你只希望在创建的对话框中添加“确定”按钮。可选参数buttons是一个非常有用的参数,它允许你控制:
* 消息框中包括的按钮的数目。
* 消息框中包括的按钮的类型。
* 消息框中显示的图标。
* 消息框的默认按钮。
* 消息框的特征。
表5-1列出了buttons参数的可能的各种设置。在这张表格中,你会发现参数分成了几组。
第一组设置对话框显示的按钮数目和类型,第二组选择图标的风格,第三组设置默认按钮,第四组设置对话框的特征。当添加数值创建最终的buttons参数时,从各组数值中只能选择一个。 表1  可用的MsgBox函数的buttons参数值
参数组
常量
数值
描述
第一组
vbOKOnly
0
只显示“确定”按钮(默认设置)
vbOKCancel
1
显示“确定”和“取消”按钮
vbAbortRetryIgnore
2
显示“放弃”、“重试”和“忽略”按钮
vbYesNoCancel
3
显示“是”、“否”和“取消”按钮
vbYesNo
4
显示“是”和“否”按钮
vbRetryCancel
5
显示“重试”和“取消”按钮
第二组
vbCritical
16
显示危险消息图标
vbQuestion
32
显示警告询问图标
vbExclamation
48
显示警告消息图标
vbInformation
64
显示信息消息图标
第三组
vbDefaultButton1
0
第一个按钮为默认按钮
vbDefaultButton2
256
第二个按钮为默认按钮
vbDefaultButton3
512
第三个按钮为默认按钮
vbDefaultButton4
768
第四个按钮为默认按钮
第四组
vbApplication Modal
0
应用程序模式:用户必须对消息框作出响应才能继续使用当前的应用程序
vbSystemModal
4096
系统模式;所有应用程序都被挂起直至用户对消息框作出响应
附加选项
vbMsgBoxHelpButton
16384
在消息框上添加“帮助”按钮
vbMsgBoxSetForeground
65536
将消息框设置为前景窗口
vbMsgBoxRight
524288
显示右对齐的消息框
vbMsgBoxRtlReading
1048576
指定在希伯莱和阿拉伯系统中显示的文本应当从右向左阅读
要查看MsgBox函数和其他VisualBasic内置常数的列表,可使用ObjectBrowser。寻找以VB开始的类,也可查看Constant类,也可找到Excel的内置常数。
可选的标题常数可以设置对话框标题栏显示的字符串表达式。如果不提供title常数的值,MicrosoftExcel将显示在标题栏中。
helpfile和context都是可选常数,当你为应用程序创建了自己的帮助文件时可以使用它们。
MsgBox是一个函数,这就意味着它将返回一个数值。表5-2列出了MsgBox函数可能返回的数值。返回值完全取决于用户所选择的按钮。 表2  MsgBox函数的返回值
常数

说明
vbOK
1
确定
vbCancel
2
取消
vbAbort
3
终止
vbRetry
4
重试
vbIgnore
5
忽略
vbYes
6

vbNo
7

查看MsgBox函数的返回值,你认为需要创建哪种类型的变量来保存返回值?定义用来保存MsgBox函数的返回值的变量时,可以使用的最好数据类型是Integer。