簡體   English   中英

excel vba Application.OnTime

[英]excel vba Application.OnTime

上周我在這里問了一個問題,我按要求發布了代碼,但沒有答案。 無論如何,我還有一些更具體的問題。

重置計時器時, Procedure參數的目的是什么? 使用Schedule:=False進行回調沒有任何意義。 例如,如果回調函數不在范圍內,會發生什么? 計時器是否仍正確重置? 這就是為什么我看到的大多數示例(包括Chip Pearson-不幸的是,由於某些原因,我不允許包含該鏈接)使用On Error Resume Next繼續OnTime調用,很抱歉再次問到,但是為什么呢?完成了嗎

我的理解是該計時器由EarliestTime參數注冊,並且這是唯一標識計時器的“序列號”。
程序論點是否也包括在注冊和隨后的識別過程中?

如果回調過程是包含在已不存在定時器觸發時,物體會發生什么? 或更籠統地說,如果計時器啟動並嘗試執行回調過程時出現一些錯誤,該怎么辦?

如果包含LatestTime的說法,那是什么時間后,如果計時器一直沒能火發生什么呢? Windows是否會完全擦除計時器?

我的理解是該計時器由EarliestTime參數注冊,並且這是唯一標識計時器的“序列號”。

不知道在哪里讀的? 並不是說這樣做很明智,但是原則上您可以安排兩個或多個具有相同EarliestTime OnTime運行。 因此,這並不是唯一的。 EarliestTimeProcedure的組合使其具有獨特性。

重置計時器時,Procedure參數的目的是什么?

不確定“重置”計時器意味着什么; 您的意思是使用Schedule := TrueSchedule := 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.

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