VB:MsgBox示例


VB:MsgBox示例
━━━━━━━━━━━━━━━━━━━━━━━━━━

(1)  使用 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

(2)  只显示某消息
MsgBox “Hello!”

(3)  将消息框返回的结果赋值给变量
Ans=MsgBox(“Continue?”,vbYesNo)
If MsgBox(“Continue?”,vbYesNo)<>vbYes Then Exit Sub

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

(5)  若要在消息中强制换行,可在文本中使用vbCrLf(或vbNewLine)常量,用&加空格与字符隔开。如
MsgBox “This is the first line.” & vbNewLine & “Second line.”

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

 

Option Explicit
Sub ShowRangeValue()
Dim Msg As 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
MsgBox Msg
End Sub

(7) 在消息框语句中使用工作表函数以及设置显示的数置花式,如下面语句所示:
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)题目的提出及解决。在VBE编辑器中输入下面的代码后,
      MsgBox "I am "a" boy."
光标移出该句代码后,将会提示“编译错误:缺少:语句结束”。 即,如何在信息中显示双引号(“ “)?
解决的方法是,在要显示双引号的字符或字符串外面使用双层双引号,如上面的代码,正确的输入如下:
      MsgBox "I am ""a"" boy."

(8) 信息框中的各种图标
在MsgBox函数中为参数buttons指定常量值,可以显示相应的图标。其中,常量 vbExclamation显示“警告消息”图标,常量vbQuestion显示“警告询问”图标,常量vbCritical显示“关健信息”图标并伴有提示声,常量vbInformation显示“信息”图标。注意,这四个常量若相互组合,将不会显示任何图标。

(9) 控制换行
在MsgBox函数中,可以使用常量vbCrLf或者常量vbNewLine在显示的消息框中强制换行。下面的代码运行后将显示如图3所示的有4行文本的消息框。

Sub testLine()
     MsgBox "第一行" & vbCrLf _
         & "第二行" & vbCrLf _
         & "第三行" & vbNewLine _
&n爱情公寓4bsp;        & "第四行"
End Sub

同时,还可以使用常量vbTab来插入一个制表符分隔列,达到使消息框中各列对齐的效果。下例用一个消息框显示当前工作表中A1至F11单元格区域中的内容,结果如图4所示。

Sub 测试分列()
     Dim msg As String
     Dim r As Long, c As Long
     msg = ""
     For r = 1 To 11
       For c = 1 To 6
         msg = msg & Cells(r, c) & vbTab
       Next c
       msg = msg & vbCrLf
     Next r
     MsgBox msg, vbInformation
End Sub
但是,MsgBox函数最多只能接受1023个字符,即限制了可以在消息框中显示内容的长度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值