1、MsgBox ""的应用,在什么情况下用这个最简单的消息语句呢,它常常用只是提示或者提醒的地方,而不需要你下一步做什么(选择决定、选择放弃)。最常用的就是判断后提示操作者,而不再需要操作再继续执行下一步的指令。
A示例:如一个前面的授权或都日期到期等等
Sub 确定_Click()
'下面是用来判断授权日期是否已过期,没过期就通过,否则就自动退出
If Now()> #12/12/2018# Then ‘表示如果系统时间大于2018年12月12日,那么进行提示,Now()是系统日期,#12/12/2018#是指定的日期。
MsgBox"授权过期!" ‘弹出提示信息
Exit Sub ‘按确定后直接退出
End If ‘是IF………. Then….. Endif 语法形式
运行后,就弹出此对话框,此时只要按确定,命令就执行完了。
B示例:同样的语句,不同的判断,结果不一样
'下面是用来搜索是否有授权证书存在,存在就通过,否则就自动退出
Dim MyFile As Object ‘定义一个文件名称MyFile(我的文件)
Set MyFile =CreateObject("Scripting.FileSystemObject") ‘
If MyFile.FileExists("c:\misTEXT.TXT") = True Then ‘判断C盘根目录下是否有MyFile(我的文件),如果有,就弹出下面信息,
MsgBox "您已授权,请继续使用!" ‘‘判断后弹出提示信息
GoTo 100 ‘上面判断文件存在,就直接转到100行执行新的指令
Else ‘这里表示另一种过程转换,表示上面的MyFile(我的文件)在C盘根目录下不存在,就执行下面的指令
MsgBox "对不起,你没有授权使用,请向作者索取授权文书!"
Exit Sub ‘执行完直接退出
100: ‘行号
.......... ‘需要执行的指令
End If ‘是IF………. Then….. End if 语法形式
我们在行号100处加上一个需要执行的指令,看看又是什么效果。
当运行后,它弹出的对话框与A示例一样,但是有一点不同,那就是当我们按确定后,它会转到行号为100处执行新的指令。
行号为100处执行新的指令,就是打开另一个窗体来进行工作。
C示例:上面二用法语句合起来用,就是对日期是否到期和是否有授权文件进行判断,然后进行提示和是否继续执行指令。
Private Sub 确定2_Click()
'下面是用来判断授权日期是否已过期,没过期就通过,否则就自动退出
If Now() > #12/12/2018# = False Then '表示如果系统时间大于2018年12月12日,那么进行提示,Now()是系统日期, #12/12/2018#是指定的日期。这里我们把True改成False,意思就是对日期进行比效判断,如果大于指定日期,就直接退出程序,否则就用GoTo 80的形式转到80行号处执行新的指令。
GoTo 80
Else
MsgBox "授权过期!" '弹出提示信息
Exit Sub '按确定后直接退出
80:
Dim MyFile As Object '定义一个文件名称MyFile(我的文件)
Set MyFile =CreateObject("Scripting.FileSystemObject") '
If MyFile.FileExists("c:\misTEXT.TXT") = True Then '判断C盘根目录下是否有MyFile(我的文件),如果有,就弹出下面信息,
MsgBox "您已授权,请继续使用!" ''判断后弹出提示信息
GoTo 100 '上面判断文件存在,就直接转到100行执行新的指令
Else '这里表示另一种过程转换,表示上面的MyFile(我的文件)在C盘根目录下不存在,就执行下面的指令
MsgBox "对不起,你没有授权使用,请向作者索取授权文书!"
Exit Sub '执行完直接退出
100: '行号
DoCmd.OpenForm "执行批处理" '打开<执行批处理>窗体
End If
End If
End Sub
运行后,由于指定日期为#12/12/2018#(2018年12月12日),系统日期大于指定日期,就直接退出了。
如果指定日期改为#12/31/2018#(2018年12月31日),系统日期小于指定日期,就自动利用GOTO 80直接转到80行执行新的指令。
虽然,指定日期小于系统日期,程序给予通过,但还有一个授权文书的在电脑上的判断,由于没有授权文书,就弹出信息,按确定后直接退出,不再执行以下指令。
如果判断有授权文书,就弹出信息。
按确定后继续执行指指令。
第一种类形的窗体弹出消息,就写到这里,明天接来下讲另一种消息弹出设计。