[英]excel vba Application.OnTime
上周,我在這里問了一個問題,我按要求發布了代碼,但沒有答案。 無論如何,我還有一些更具體的問題。
重置計時器時, Procedure參數的目的是什么? 使用Schedule:=False
進行回調沒有任何意義。 例如,如果回調函數不在范圍內,會發生什么? 計時器是否仍正確重置? 這就是為什么我看到的大多數示例(包括Chip Pearson-不幸的是,由於某些原因,我不允許包含該鏈接)使用On Error Resume Next
繼續OnTime
調用,很抱歉再次問到,但是為什么呢?完成了嗎
我的理解是該計時器由EarliestTime參數注冊,並且這是唯一標識計時器的“序列號”。
程序論點是否也包括在注冊和隨后的識別過程中?
如果回調過程是包含在已不存在定時器觸發時,物體會發生什么? 或更籠統地說,如果計時器啟動並嘗試執行回調過程時出現一些錯誤,該怎么辦?
如果包含LatestTime的說法,那是什么時間后,如果計時器一直沒能火發生什么呢? Windows是否會完全擦除計時器?
我的理解是該計時器由EarliestTime參數注冊,並且這是唯一標識計時器的“序列號”。
不知道在哪里讀的? 並不是說這樣做很明智,但是原則上您可以安排兩個或多個具有相同EarliestTime
OnTime
運行。 因此,這並不是唯一的。 EarliestTime
和Procedure
的組合使其具有獨特性。
重置計時器時,Procedure參數的目的是什么?
不確定“重置”計時器意味着什么; 您的意思是使用Schedule := True
或Schedule := False
調用OnTime
嗎?
無論哪種方式,它是否應該要不然怎么知道要運行的程序(或取消該程序運行),如果你不指定Procedure
的說法? 那就是它的目的。
我建議您嘗試一下並說服自己。
如果計時器觸發時不再存在的對象中包含回叫過程,該怎么辦? 或更籠統地說,如果計時器啟動並嘗試執行回調過程時出現一些錯誤,該怎么辦?
好吧,您是否嘗試過自己找出答案? 沒有什么神秘的事情發生。 您照常收到一條錯誤消息。
如果包含LatestTime參數,那么在該時間之后如果計時器無法觸發,會發生什么? Windows是否會完全擦除計時器?
我想你可以這樣說。 該過程將不會運行。 請參閱VBA幫助:
例如,如果將LatestTime設置為EarliestTime + 30,並且由於另一個程序正在運行,Microsoft Excel在EarliestTime時未處於“就緒”,“復制”,“剪切”或“查找”模式,則Microsoft Excel將等待30秒以使第一個過程完成。 如果Microsoft Excel在30秒內未處於“就緒”模式,則該過程將不會運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.