excel vba winapi settimer addressof 返回错误 类型不匹配

如题所述

settimer addressof 应该是计时器触发的调用程序。请参考我的代码:

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 '计时器的ID,用于计时器的启动/关闭。
Public lTimeDuration 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()
'计时器触发后运行的代码放在这
'...
Call PasteText

End Sub追问

我写的就是这个 只不过我的系统是WIN8 64位的 里面的返回值addressof 不能为long 要改为longprt 所以才会出现以上错误,我已经解决了 不过还是多谢

温馨提示:答案为网友推荐,仅供参考
相似回答