完整功能的VBA Timer类 2010 年7 月2 日 评论 发表评论 VB 中的Timer 控件提供了很好的计时器功能,VBA 的原始功能中没有包括Timer 控件,取而代之的是Application
OnTime 方法,但是在定时重复运行某个过程的情况下OnTime 方法使用并不太方便
简单的API Timer函数 使用API 函数同样可以实现类似的OnTime 功能,并且可以方便的循环运行指定的程序
只需要两个简单的API 函数 SetTimer 和 KillTimer
Private Declare Function SetTimer Lib "user32
dll" (ByVal hwnd As Long, ByVal nIDEvent As Long, _ ByVal uElapse As Long , ByVal lpTimerFunc As Long) As Long Private Declare Function KillTimer Lib "user32
dll" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long Public lTimerID As Long Sub StartTimer(lDuration As Long) If lTimerID = 0 Then lTimerID = SetTimer(0&, 0&, lDuration, AddressOf OnTime) Else Call StopTimer lTimerID = SetTimer(0&, 0&, lDuration, AddressOf OnTime) End If End Sub Sub StopTimer() KillTimer 0&, lTimerID End Sub Sub OnTime() '