打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
利用VBA,完成自动运行任务
userphoto

2022.05.29 云南

关注
《VBA经典应用69例》,是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容是教程的应用8:利用VBA,完成自动运行任务的预设
 这一专题,我们讲解利用VBA来预设某个任务自动运行。这讲的内容在VBA中也是比较有用的,可以完成诸如动画的效果,以及各种自己期望的任务在某个时间自动运行。我们主要是利用Application.OnTime来完成这种设置。
   OnTime与Application.Wait方法非常相似,使用这两种方法,可以设计在特定时间运行某项任务(过程)。OnTime和Wait的一个主要区别是,对于Wait方法,Excel的操作将被挂起,但OnTime不会冻结你的计算机。运行OnTime语句后,可以继续使用Excel工作簿。

1  Application.OnTime 方法介绍

语法: Application.OnTime(EarliestTime, Procedure, LatestTime, Schedule)  这个方法将安排一个过程在将来的特定时间运行(既可以是具体指定的某个时间,也可以是指定的一段时间之后)。
参数:
  1) EarliestTime   必需   Variant   希望此过程运行的时间。有时 Excel 可能会在'最早时间'时忙于其他任务(例如任何宏正在运行)。一旦 Excel 准备好,程序将立即启动。
2) Procedure    必需   String   要运行的过程名。
3) LatestTime  可选   Variant   可以运行相应过程的最后时间。例如,如果将LatestTime设置为EarliestTime + 30, 并且 Microsoft Excel 在EarliestTime上未准备就绪、复制、剪切或查找模式, 因为另一个过程正在运行, 所以 Excel 将在第一个过程中等待30秒以完成第一个过程。如果 Excel 在30秒内未处于就绪模式, 则不会运行该过程。 如果省略此参数, Excel 将一直等待, 直到可以运行该过程。这个参数可以视为如果当前时间超过此时间,则程序将无法运行。
4)Schedule   可选   Variant    如果为True,则安排新的OnTime过程。 如果为 False,则清除以前设置的过程。默认值为True。

预设某个过程(宏)在15秒后运行

我们先用Application.OnTime方法来完成一个简单的预设:在用户点击按钮后15秒提示用户。我们先来看我给出的代码:

Sub mynzA()
    Application.OnTime Now + TimeValue('00:00:15'), 'mynz'
End Sub
Sub mynz()
    MsgBox '您点击按钮后已经过去了15秒'
End Sub

代码的截图:


代码讲解:
  Application.OnTime Now + TimeValue('00:00:15'), 'mynz' 这句代码中“Now + TimeValue('00:00:15')”是指从现在开始到15秒后开始执行某个程序,执行什么程序呢?就是'mynz' 。

下面是代码的运行结果,当然代码是在点击后15秒出现的:
<待续>







本讲内容参考程序文件:应用008.xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
 
分享成果,随喜正能量】谣言不是张口无意,而是内心黑暗的反射。俗话说:“人受恶意之作弄,必作恶以回报。” ,所以,应戒之。。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBA中OnTime方法与OnKey方法
VBA|过程或方法内部的直接或间接调用与相对怪异的语法格式
【烟花原创】VBA零基础之第92篇 Application对象(十)
利用VBA实现定时器及屏蔽组合键功能
Application.Ontime
如何运行VBA代码
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服