位置:首页 > 软件操作教程 > 办公软件 > Excel > 问题详情

怎么在Excel表格中定时启动宏?

提问人:周丽平发布时间:2021-07-24

1、启动Excel并打开包含宏的工作表,在“开发工具”选项卡的“代码”组中单击"Visual Basic"按钮打开VBA编辑器,如图1所示。

image.png

图1 单击

2、在工程资源管理器中双击“模块1”选项打开宏所在模块的代码窗口,在其中输入代码新建一个名为“计划运行过程”的Sub过程,如图2所示。具体的程序代码如下所示:

Sub计划运行过程(Optional WaitHour As Integer=0,_

Optional WaitMin As Integer=5,Optional WaitSec As Integer=0)

Dim strProcName As String,strScheName As String

Dim NextTime As Variant

strScheName="计划运行过程" '保存本过程的名称

strProcName="创建宏" '保存需运行宏或过程的名称

NextTime=Time+TimeSerial(WaitHour,WaitMin,WaitSec) '设置下一个计划运行时间

Application.OnTime NextTime,strProcName '开始一个新过程运行计划

Application.Run strScheName '计划完成后,重新调用本过程

End Sub

image.png

图2 在“代码”窗口中创建一个新过程

提示

上述过程可以接收3个参数,分别是小时数、分钟数及秒数。这3个参数决定了定时运行宏或过程的时间间隔。在过程中,使用TimeSerial函数来确定该值。TimeSerial函数根据接收到的3个参数产生Date数据。用户在使用上述过程时,不一定需要输入参数,这3个参数都是可选的,并且具有默认值。

默认情况下,时间间隔为5分钟。当用户启动运行该过程后,“创建宏”宏过程将每隔5分钟被执行一次。这里要注意的是,该过程并不一定保证“设置表头格式”过程两次执行间的时间差绝对等于5分钟,有可能由于用户意外地进入单元格的编辑模式等原因造成该宏过程一次都无法按计划执行。

继续查找其他问题的答案?

回复(0)
返回顶部