单击按钮1分钟后,我尝试运行宏。什么时候 我再次按下该按钮,则首次计时器应重置并从头开始(如果我在1分钟内再次单击该按钮,宏将不会运行。它应仅在最近一次单击后1分钟内运行)
我尝试了application.ontime dtime,"expire", false
,但是它不起作用。当我尝试application.ontime dtime,"expire", , false
(导致错误1004)
public dtime as double
private sub commandbutton1_click()
application.ontime dtime,"expire", false
dtime = Now+timevalue("00:01:00")
application.ontime dtime,"expire"
commandbutton2.visible= true
end sub
现在,单击命令按钮1分钟后,宏过期正在运行(这将使命令按钮2不可见)。但是,当我在1分钟内再次按下命令按钮时(例如,第一次单击后30秒后),计时器保持运行,并在30秒内使命令按钮2不可见。我需要在第二次点击时重置计时器。或请提出任何建议 替代方法。希望我说清楚。
答案 0 :(得分:2)
类似这样的东西:
public dtime as double
private sub commandbutton1.click()
'If there's an existing run, cancel it
If dtime <> 0 then
on error resume next 'might already have run, so ignore any error
application.ontime dtime, "expire", ,false
on error goto 0 'stop ignoring errors
dtime=0
End If
'schedule next run
dtime = Now + timevalue("00:01:00")
application.ontime dtime, "expire"
commandbutton2.visible = true
end sub