Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

附註: 如果 MicrosoftJet 運算式服務是在沙箱模式中執行,則本主題中所述的函數、方法、物件或屬性會停用,這可防止評估可能不安全的運算式。 有關沙箱模式的詳細資訊,在 「協助」中搜尋「沙箱模式」。

產生執行,讓作業系統可以處理其他事件。

語法

DoEvents ( )

註解

DoEvents函數會以整數表示獨立版本的 Microsoft Visual Basic 中開啟表單的數量,例如 Visual Basic、Professional Edition。 在所有其他應用程式中,DoEvents 會回零。

DoEvents 會將控制權傳遞給作業系統。 當作業系統完成處理其佇列中的事件,且 SendKeys 佇列中的所有金鑰已傳送完畢之後,會返回 Control。

DoEvents 最適用于簡單的專案,例如允許使用者在程式開始之後取消程式,例如搜尋檔案。 對於長時間執行的流程,使用計時器或將工作委派給 ActiveX EXE 元件,可以更順利地獲得處理器。 在後一種情況下,任務可以完全獨立于您的應用程式外繼續進行,而作業系統會處理多工處理和時間剪除。

當您在事件程式中暫時獲得處理器時,請確定 程序 不會從程式碼的不同部分再次執行,然後再第一次呼叫返回;這可能會導致無法預期的結果。 此外,如果其他應用程式在獲得控制權期間,可能會以無法預料的方式與您的程式互動,請勿使用DoEvents。

範例

附註: 下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。

此範例使用 DoEvents 函數,讓執行產生至作業系統每 1000 次迴圈重複一次。 DoEvents 會返回開啟的 Visual Basic 表單數目,但只有在主應用程式是 Visual Basic 時。

' Create a variable to hold number of 
' Visual Basic forms loaded and visible.
Dim I, OpenForms
For I = 1 To 150000 ' Start loop.
If I Mod 1000 = 0 Then ' If loop has repeated
' 1000 times.
OpenForms = DoEvents ' Yield to operating system.
End If
Next I ' Increment loop counter.

Need more help?

擴展您的技能

探索訓練 >

優先取得新功能

加入 MICROSOFT 365 測試人員 >

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×