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个字符,即限制了可以在消息框中显示内容的长度。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值