我想在vba中產生30秒的延遲。我不能使用'計時器',因爲我的應用程序將在一夜之間運行到第二天早上。 (計時器會產生秒數(分數)直到午夜)。除了Timer和Application.WaitNow()之外,還有其他方法可以實現這一點嗎?
我嘗試使用下面的代碼,但它拋出代碼執行已被中斷的錯誤。如何獲得30秒的延遲
Function Wait()
Dim StartSecond
Dim EndSecond
StartSecond = Second(Now)
'Sheets("SampleOutputEx").Range("M2") = StartSecond
EndSecond = (StartSecond + 30) Mod 60
While Second(Now) <> EndSecond
DoEvents
Wend
End Function
你爲什麼要等待?您可以使用Application.OnTime在30秒內安排需要運行的內容,如果這適用於您的用例。 – assylias
@assylias你的意思是這樣嗎? Application.OnTime Now + TimeValue(「00:00:30」),「RunProcess」 –
當你說它會在一夜之間運行時,你的意思是它會在一夜之間運行一次,或者整晚都會遞歸運行嗎? –