MsgBox的使用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MsgBox函数

MsgBox函数的作用是弹出一个对话框,在其中显示的指定的数据和提示信息。此外,该函数还可以将返回用户在此对话框做的选择,并将返回值赋给指定变量。其语法格式为:MsgBox(信息内容(文本),对话框类型+图标类型(button),对话框题目(文本))

注意:信息内容为必传参数。对话框类型和图标类型为非必传参数。对话框题目也为非必传参数,如果不写则为项目的标题。

button参数的取值。

名称值功能

VbOKOnly 0 确定按钮

VbOkCancel 1 确定和取消按钮

VbAortRetryIgnore 2 终止,重试和忽略按钮

VbYesNoCancel 3 是,否和取消按钮

VbYesNo 4 重试和取消按钮

Vbretrycancel 5 重试和取消按钮

VbCritical 16 停止图标

VbQuestion 32 问号(?)图标

VbExclamation 48 感叹号(!)图标

VbInformation 64 信息图标

VbDefaultButton1 0 默认按钮为第一按钮

VbDefaultButton2 256 默认按钮为第二按钮

VbDefaultButton3 512 默认按钮为第三按钮

vbDefaultButton4 768默认按钮为第四按钮

vbApplicationModal0应用程序强制返回;应用程序一直被挂起,直到用户对消息框作出响应才继续工作

vbSystemModal4096系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作

vbMsgBoxHelpButton16384将Help按钮添加到消息框VbMsgBoxSetForeground 65536指定消息框窗口作为前景窗口

vbMsgBoxRight524288文本为右对齐

vbMsgBoxRtlReading 1048576指定文本应为在希伯来和阿拉伯语系统中的从右到左显示

说明:

(1)第一组值(0–5)描述了消息框中显示的按钮的类型与数目;

第二组值(16,32,48,64)描述了图标的样式;

第三组值(0,256,512,768)说明哪一个按钮是缺省值;

而第四组值(0,4096)则决定消息框的强制返回性。将这些数字相加以生成Buttons参数值的时候,只能由每组值取用一个数字。

(2)这些常数都是 Visual Basic for Applications (VBA) 指定的。结果,可以在程序代码中到处使用这些常数名称,而不必使用实际数值。实际数值与常数名称是等价的。

MsgBox()的返回值

返回值常量按钮

1 vbOK 确定按钮

2 vbCancel 取消按钮

3 vbAbort 终止按纽

4 vbRetry 重试按钮

5 vbIgnore 忽略按钮

6 vbYes 是

7 vbNo 否

例子代码如下:dim a

a = MsgBox ("请确认您输入的数据是否正确!" , 3+48+0 , "数据检查" )

运行效果:

(1) 如果同时提供了Helpfile与Context参数,可以按F1键来查看与Context 相应的帮助主题,Excel通常会在输入框中自动添加一个帮助(Help)按钮。(2)若在消息框中显示“取消”按钮,则按下ESC键与单击“取消”按钮效果相同。若消息框中有“帮助”按钮,则提供相关的帮助信息。

(3)如果要输入多个参数并省略中间的某些参数,则必须在相应位置加入逗号分界符。

示例

A.使用 MsgBox 函数,在具有“是”及“否”按钮的对话框中显示一条严重错误信息。示例中的缺省按钮为“否”,MsgBox函数的返回值视用户按哪一个钮而定。并假设DEMO.HLP为一帮助文件,其中有一个帮助主题代码为1000。

Dim Msg,Style,Title,Help,Ctxt,Response,MyString

Msg="Do you want to continue ?" ’定义消息文本

Style = vbYesNo + vbCritical + vbDefaultButton2 ' 定义按钮

Title = "MsgBox Demonstration" ' 定义标题文本

Help = "DEMO.HLP" ' 定义帮助文件

Ctxt = 1000 ' 定义帮助主题

Response = MsgBox(Msg, Style, Title, Help, Ctxt)

If Response = vbYes Then ' 用户按下“是”

MyString = "Yes" ' 完成某操作

Else ' 用户按下“否”

MyString = "No" ' 完成某操作

End If

B.只显示某消息

MsgBox “Hello!”

C.将消息框返回的结果赋值给变量

Ans=MsgBox(“Continue?”,vbYesNo)

If MsgBox(“Continue?”,vbYesNo)<>vbYes Then Exit Sub

D.使用常量的组合,赋值组Config变量,并设置第二个按钮为缺省按钮Config=vbYesNo+vbQuestion+vbDefaultButton2

E.若要在消息中强制换行,可在文本中使用vbCrLf(或vbNewLine)常量,用&加空格与字符隔开。如

MsgBox “This is the first line.” &vbNewLine& “Second line.”

F.可以在消息框中使用vbTab常量插入一个制表符。下面的过程使用一个消息框来显示5×5单元格区域中的所有值,用vbTab常量分隔列并使用vbCrLf常量插入一个新行。注意在MsgBox函数最多只显示1024个字符,因此限制了可显示的单元格数。

Option Explicit

Sub ShowRangue()

Dim MsgAs String

Dim r As Integer, c As Integer

Msg = ""

For r = 1 To 5

For c = 1 To 5

Msg = Msg& Cells(r, c) &vbTab

Next c

Msg = Msg&vbCrLf

Next r

MsgBoxMsg

End Sub

G.在消息框语句中运用工作表函数以及设置显示的数置格式,如下面语句所示:MsgBox" selection has " & m & " cells ." &Chr(13) & " the sum is :"

&Application.WorksheetFunction.Sum(Selection) &Chr(13) & "the average is :" & Format(Application.WorksheetFunction.Average(Selection), "#,##0.00"), vbInformation, "selection count & sum & average" &Chr(13)

相关文档
最新文档