我在VBA中使用Windows計時器API來每0.5秒處理一個子計時器。我希望能夠在定時器運行時更改timerproc的速度。不幸的是,StartTimer子文件在開始時只調用一次。關於如何修改我的代碼以改變速度(比如說0.25)的任何想法?Windows計時器vba更改速度
Public Declare Function SetTimer Lib "user32" (_
ByVal HWnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" (_
ByVal HWnd As Long, _
ByVal nIDEvent As Long) As Long
Public TimerID As Long
Public TimerSeconds As Single
Sub stopTimer()
On Error Resume Next
KillTimer 0&, TimerID
End Sub
Sub StartTimer()
RerunSpeed = 0.5
TimerSeconds = RerunSpeed
TimerID = SetTimer(0&, 0&, TimerSeconds * 1000&, AddressOf TimerProc)
End Sub
Sub TimerProc(ByVal HWnd As Long, ByVal uMsg As Long, _
ByVal nIDEvent As Long, ByVal dwTimer As Long)
Call RecalculateData
End Sub