DoEvents 函數

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

附註: 如果在沙箱模式中,可避免可能不安全的運算式的評估執行的 Microsoft Jet 運算式服務,就會停用函數、 方法、 物件或在本主題中所述的屬性。如需有關沙箱模式的詳細資訊,搜尋 「 沙箱模式 」 的說明。

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

語法

DoEvents ( )

備註

DoEvents函數會傳回一個 Integer,代表獨立版本的 Microsoft Visual Basic,例如 [Visual Basic,專業版中開啟表單的數字。DoEvents傳回零所有其他應用程式]。

DoEvents作業系統的控制權。作業系統完成處理事件,並已傳送SendKeys佇列中的所有按鍵後,會傳回控制項。

DoEvents是最有用的簡單項目,例如允許使用者啟動後,例如檔案搜尋取消處理程序。以長處理程序,產生處理器是更有效地透過使用計時器或委派 ActiveX 執行檔元件的工作。在後面的情況下,任務可以繼續完全獨立應用程式並作業系統的多個工作及時間切割。

隨時暫時 yield 處理器內事件程序,請確定程序不會執行一次從您的程式碼的不同部分傳回第一個呼叫; 之前這可能造成無法預期的結果。此外,如果其他應用程式可能可能互動程序無法預料的方式有產生的控制項時請勿使用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 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×