Option Explicit
' ********** Msgbox 函数简介 *************
'一、什么MsgBox函数
'它可以弹出一个窗口,显示你设定的内容。并且窗口上有可以让你选择的按钮,点击不同的按钮会返回不同的数值。
'用msgbox信息窗口可以增加一个程序对话的机会,以告诉程序下一步应该怎么做
'二、基本语法
'Msgbox (窗口中显示的内容,按钮和图示类别,窗口标题,相关的帮助文件,帮助文件上下文的编号)
' **************** 窗口和标题显示文字 *************
'1、窗口显示的内容
'1) 基本显示:只需要给第一个参数设置一个字符串或生成字符串的表达式即或
MsgBox "你好!,欢迎你使用" & ThisWorkbook.Name
'2) 换行显示。
'chr(10) 可以生成换行符
'chr(13) 可以生成回车符,在MsgBox中的作用和换行符相同
'vbcrlf 换行符和回车符
'vbCr 等同于chr(10)
'vblf 等同于chr(13)
' 注:以上 5 个命令都可实现换行
MsgBox "我爱" & Chr(10) & "Excel精英培训"
MsgBox "我爱你" & Chr(13) & "Excel"
MsgBox "今天" & vbCrLf & "我是水王"
'3) 表格显示:用制表符对齐,用换行符换行
'chr(9) 制表符,
MsgBox "姓名" & Chr(9) & "职业" & Chr(10) & "张三" & Chr(9) & "工程师" _
& Chr(10) & "于上伟" & Chr(9) & "教师"
'用空格对齐:预先设定每列的宽度(以空格为单元),然后用宽度减去文字的宽度得到实际需要添加的空格数
' space(n) 可以产生n个空格
Sub test6()
Dim x, y, sr, k
For x = 1 To 5
For y = 1 To 3
If VBA.IsNumeric(Cells(x, y)) Then
k = 12 - Len(Cells(x, y))
Else
k = 12 - Len(Cells(x, y)) * 2
End If
sr = sr & Cells(x, y) & Space(k)
Next y
sr = sr & Chr(13)
Next x
MsgBox sr
End Sub
'2 标题的显示文字
MsgBox "核对关系出错了", , "系统提示"
' *************** 窗体的返回值 ***************
'要想和消息框交流,还需要在我们点击窗体的按钮后能返回一个值,告诉程序我们点了哪个按钮.
' 常数 值 说明
' vbOK 1 确定
' vbCancel 2 取消
' vbAbort 3 终止
' vbRetry 4 重试
' vbIgnore 5 忽略
' vbYes 6 是
' vbNo 7 否
Sub test11()
Dim k
k = MsgBox("测试返回值", vbYesNoCancel) ' 根据在对话框上点选的操作返回对应的数值。MsgBox 返回值时参数要括起来!
MsgBox "你点击了按钮:" & Choose(k, "确定", "取消", "终止", "重试", "忽略", "是", "否")
End Sub
' *************** 设置消息框上的帮助 ***************
'要添加帮助,需要设置msgbox 函数的第四和第五个参数
'第四个参数是帮助文件的路径,帮助文件要放在C:\WINDOWS\Help路径下
'第五个参数和帮助文件本身有关,是为了准备的打开帮助文件而设置的上下文编号,如果没有则设置为0
Dim x
x = MsgBox("测试添加帮助的效果", vbOKCancel + vbMsgBoxHelpButton, "测试帮助!", "D:/a.chm", 0) '"C:\WINDOWS\Help\excel.chm", 0)
' *************** 自动定时关闭消息框,可以用其他消息框完成 ***************
Dim WshShell As Object ' 定义一个对象
Set WshShell = CreateObject("Wscript.Shell") ' 创建 Shell 对象
WshShell.Popup "1秒后关闭!", 1, "提示!", 16 ' 1 表示 1s 后关闭, 16 即PopUp的第4个参数 和 MsgBox的第2个参数 完全相同