VBA基础入门(35)如何让你的程序等一等?

论坛 期权论坛 期权     
VBA基础入门   2019-6-9 21:27   1563   0



注:文中代码部分可以左右滑动。


在实现需求的程序中,经常会遇到需要暂停下程序再执行的情况,那么如何做到让程序等一等呢?
例如,你想让你的程序今天12点再开始实行:

  1. application.wait "12:00:00" 。
复制代码
例如,你想让你的程序等10秒再执行:
  1. application.wait (Now + TimeValue("00:00:10"))
复制代码
就可以了。
wait后面的参数是你要执行的时间点,我们只需要用现在的时间+你想暂停的时间就可以了。        
需要注意的是,这里的暂停的时间要是这种hh:mm:ss(时分秒)的格式。


那么,如果我想暂停的时间是一个变量,我也不确定到底是多少秒,可能是50秒也可能是100秒,那我暂停的时间应该怎么去写呢?怎么把我要暂停的秒数换成时分秒的格式?



我们可以创造一个变换格式的函数:
我们只需要在用的时候调用下面这个函数就可以了,
  1. Application.Wait (Now + TimeValue(DateFormat(WaitTime)))
复制代码
上面的WaitTime就是你要等待的时间,你可以换成其他的变量。

  1. Function DateFormat(Byval Mytime As Integer)
复制代码
  1.   Dim H%, M%, S%
复制代码
  1.   H = Mytime / 3600
复制代码
  1.   M = (Mytime - 3600 * H) / 60
复制代码
  1.   S = Mytime - 3600 * H - 60 * M
复制代码
  1.   DateFormat = Format(TimeSerial(H, M, S), "hh:mm:ss")
复制代码
  1. End Function
复制代码





分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:15
帖子:3
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP