Application.Ontime给出不准确的结果

时间:2014-09-19 23:36:37

标签: excel-vba vba excel

当我运行下面的代码(test1)时,我会得到不同的结果,几乎总是在2.5秒左右 - 很少是3秒。如果计算机被其他东西占用,我可以理解它高于3秒,但不到3毫无意义。我用xl2003和xl2010尝试了这个,结果相似。我希望有人可以向我解释一下。

Option Explicit

Dim t As Double

Sub test1()
    Debug.Print Now
    Application.OnTime Now + TimeValue("00:00:03"), "test2", , True
    '  t = Timer
End Sub

Sub test2()
    Debug.Print Now
    ' Debug.Print Timer - t
End Sub

1 个答案:

答案 0 :(得分:0)

Now()Timer似乎异步更新其值。在一些快速测试中,我得到的差异大约为0到1秒。

正如您所发现的那样,您应该坚持一个时间源。另外,OnTime只能以1秒为增量进行安排。