下面是使用Application.OnTime函数来设计的Excel打开欢迎界面的两种方法,设计的关键是要懂得Application.OnTime函数的使用方法,它是在后台建立一个计时器,计时到之后自动调用指定的子模块过程。因此,我们的设计思路是,先制作一个欢迎界面的窗体,然后在Excel工作簿打开时自动打开该窗体,紧接着使用Application.OnTime函数在预定时间调用子模块来关闭窗体,为了使启动过程更加好看,我们可以在打开窗体前隐藏工作簿,并在关闭窗体后显示工作簿。代码如下:
一、三步法:思路是在窗体打开后利用窗体的初始化子模块调用Application.OnTime函数在指定时间后自动调用子模块来关闭窗体。
1. 在ThisWorkbook建立自启动子模块
Private Sub Workbook_Open()
Application.Visible = False
UserForm1.Show
Application.Visible = True
End Sub
2. 在UserForm1窗体建立如下自启动子模块
Private Sub UserForm_Initialize()
Application.OnTime Now + TimeValue("00:00:02"), "UserForm1_Unload"
End Sub
3. 在模块中建立如下子模块
Sub UserForm1_Unload()
Unload UserForm1
End Sub
二、两步法:思路是在工作簿自启动子模块中打开窗体,并同时调用Application.OnTime函数在指定时间后自动调用子模块来关闭窗体。
1. 在ThisWorkbook建立自启动子模块
Private Sub Workbook_Open()
Application.Visible = False
UserForm1.Show 0
Application.OnTime Now + TimeValue("00:00:02"), "UserForm1_Unload"
End Sub
2.在模块中建立如下子模块
Sub UserForm1_Unload()
Unload UserForm1
Application.Visible = True
End Sub
两种方法的不同点是Application.OnTime函数是在窗体初始化子模块中使用,还是在ThisWorkbook中使用,第二种方法需要在UserForm1.Show命令后加参数0,此时代码的执行不会因窗体的打开而暂停,从而可以顺利调用Application.OnTime函数实现窗体自动关闭的效果。
如需窗体设计案例和详细代码解释,可点击这里下载。