MsgBox函数用法补充

MsgBox函数用法补充


MsgBox函数能很方便地显示消息,并与用户进行交互,其具体使用方法见《 MsgBox函数用法小结》。下面介绍在使用MsgBox函数时遇到的特殊问题及解决方法,并就MsgBox函数所显示的对话框的排版进行一些探讨。

问题的提出及解决
在VBE编辑器中输入下面的代码后,
MsgBox "I am "a" boy."
光标移出该句代码后,将会提示“编译错误:缺少:语句结束”。
即,如何在信息中显示双引号(“ “)?
解决的方法是,在要显示双引号的字符或字符串外面使用双层双引号,如上面的代码,正确的输入如下:
MsgBox "I am ""a"" boy."
结果如图1所示。
  图1

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

控制换行和对齐
在MsgBox函数中,可以使用常量vbCrLf或者常量vbNewLine在显示的消息框中强制换行。下面的代码运行后将显示如图3所示的有4行文本的消息框。
Sub testLine()
  MsgBox "第一行" & vbCrLf _
      & "第二行" & vbCrLf _
      & "第三行" & vbNewLine _
      & "第四行"
End Sub
  图3
同时,还可以使用常量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
  图4
但是,MsgBox函数最多只能接受1023个字符,即限制了可以在消息框中显示内容的长度。 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值