MsgBox函数详解[完整版]

更多VBS函数查询请点击这里


简介:
   MsgBox是Visual Basic和VBS中的一个函数,功能是弹出一个对话框,等待用户单击按钮,并返回一个Integer值表示用户单击了哪一个按钮。
   “MsgBox”即为“Message Box”的缩写,在英语中意为“信箱”。

语法:
MsgBox (Prompt [,Buttons] [,Title] [,Helpfile,Context])

参数:

Prompt
必选。字符串表达式,显示在对话框中的消息。Prompt的最大长度大约为1024个字符,由所用字符的字节大小决定。如果Prompt的内容超过一行,则可以在每一行之间用回车符(Chr(13))、换行符(Chr(10))或是回车与换行符的组合(Chr(13) & Chr(10),即vbCrLf)将各行分隔开来。

Buttons    
可选。数值表达式,是一些数值的总和,指定所显示的按钮的数目及形式、使用的图标样式(及声音),缺省按钮以及消息框的强制性等。如果省略,则其缺省值为0。具体数值见“参数设置值”表格。

Title
可选。字符串表达式,在对话框标题栏中显示的内容。如果省略Title,则将应用程序标题(App.Title)放在标题栏中。

Helpfile    
可选。字符串表达式,用来向对话框提供上下文相关帮助的帮助文件。如果提供了Helpfile,则也必须提供Context。

Context    
可选。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了Context,则也必须提Helpfile。

=================================================

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      第四个按钮为默认按钮。

vbApplicationModal    0        应用程序模式:用户必须响应消息框才能继续在当前应用程序中工作。
vbSystemModal           4096     系统模式:在用户响应消息框前,所有应用程序都被挂起。(即窗口置顶)

vbMsgBoxHelpButton    16384    将帮助按钮添加到消息框。
vbMsgBoxSetForeground 65536    指定消息框窗口作为前景窗口。
vbMsgBoxRight         524288   文本为右对齐。
vbMsgBoxRtlReading    1048576  指定文本应为在希伯来和阿拉伯语系统中的从右到左显示。

弹窗示例:
msgbox "弹出窗口",vbyesnocancel+vbinformation
这样就弹出带有信息图标和3个选择的窗口了

说明:
(1)第一组值(0�C5)描述了消息框中显示的按钮的类型与数目;
  第二组值(16,32,48,64)描述了图标的样式;
  第三组值(0,256,512,768)说明哪一个按钮是缺省值;
  第四组值(0,4096)则决定消息框的强制返回性。
  将这些数字相加以生成Buttons参数值的时候,只能由每组值取用一个数字。
(2)这些常数都是Visual Basic for Applications(VBA)指定的,可以在程序代码中使用这些常数名称代替实际数值。


例如:
msgbox "弹出窗口",vbyesnocancel+vbinformation+vbSystemModal

msgbox "弹出窗口",4163
的效果是一样的,即vbyesnocancel+vbinformation+vbSystemModal的值总和等于4163。

============================================

MsgBox函数返回值:

常数     值   描述
vbOK     1    单击了“确定”按钮。
vbCancel 2    单击了“取消”按钮。
vbAbort  3    单击了“终止”按钮。
vbRetry  4    单击了“重试”按钮。
vbIgnore 5    单击了“忽略”按钮。
vbYes    6    单击了“是”按钮。
vbNo     7    单击了“否”按钮。

说明:
在提供了Helpfile与Context参数的时候,用户可以按F1来查看由Context参数指定的帮助主题。像Microsoft Excel这样的一些主机应用程序就会在对话框中自动添加一个帮助按钮。
如果对话框显示“取消”按钮,则按下Esc键与单击“取消”按钮的效果相同。如果对话框中有帮助按钮,则对话框中提供与上下文相关的帮助。但是,直到其它按钮中有一个被单击之前,都不会返回任何值。

==============================================

示例:

msgbox "弹出窗口"

这一行代码就可以弹出写着"弹出窗口"的确定窗口,

想要多个选择的窗口,如下

msgbox "弹出窗口" ,vbyesnocancel

这样就有了"是""否""取消"三个选项了。

一、使用MsgBox函数,在具有“是”及“否”按钮的对话框中显示一条错误信息。示例中的缺省按钮为“否”,并假设Demo.hlp为一帮助文件,其中有一个帮助主题编号为1000。

代码如下:    
Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "程序发生错误,继续?" '定义消息文本
Style = vbYesNo + vbCritical + vbDefaultButton2 '定义对话框样式
Title = "错误信息" '定义标题文本
Help = "Demo.hlp" '定义帮助文件
Ctxt = 1000 '定义帮助主题编号
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then '用户按下“是”按钮
   MyString = "Yes" '进行某些操作
Else '用户按下“否”按钮
   MyString = "No" '进行某些操作
End If

二、使用vbCrLf常数在消息内容中换行。

MsgBox "第1行" & vbCrLf & "第2行"


三、使用vbTab常数显示多行对齐的文本。

MsgBox "常数" & vbTab & "值" & vbCrLf & _
"vbOK" & vbTab & 1 & vbCrLf & _
"vbCancel" & vbTab & 2 & vbCrLf & _
"vbAbort" & vbTab & 3 & vbCrLf & _
"……" & vbTab & "……", _
vbOKOnly, "MsgBox函数返回值"

你可能感兴趣的:(msgbox,MsgBox函数,MsgBox说明,MsgBox参数)