使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

附註: 如果 Microsoft Jet Expression Service 在沙箱模式中執行,會停用本主題中所述的函數、方法、物件或屬性,以免評估可能不安全的表達式。 如需沙盒模式的詳細資訊,請在 [說明] 中搜尋「沙盒模式」。

產生執行的結果,讓操作系統可以處理其他事件。

語法

DoEvents ( )

註解

DoEvents 函數會傳回一個整數,代表獨立版本的 Microsoft Visual Basic 中開啟的窗體數目,例如 Visual Basic、Professional Edition。 DoEvents 會 在所有其他應用程式中傳回零。

DoEvents 會將控制權傳遞至操作系統。 在操作系統完成處理其佇列中的事件,且已傳送 SendKeys 佇列中的所有按鍵之後,就會傳回控件。

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.

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×