簡體   English   中英

如何停止Application.ontime

[英]How to stop Application.ontime

我試圖在單擊按鈕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不可見。 我需要在第二次點擊時重置計時器。 或者,請提出其他替代方法。 希望我說清楚。

像這樣:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM