讓執行,讓作業系統能處理其他事件。
語法
DoEvents ( )
註解
DoEvents 函式回傳一個整數,代表獨立版本 Visual Basic 中開啟表單的數量,例如 Visual Basic, Professional Edition。 DoEvents 在其他所有應用程式中回傳為零。
DoEvents 將控制權交給作業系統。 控制權會在作業系統完成處理隊列中的事件且 SendKeys 隊列中所有金鑰都已傳送後回傳。
DoEvents 最有用的是簡單的事情,例如允許使用者在程序啟動後取消,例如搜尋檔案。 對於長時間執行的程序,讓出處理器的效率最好是使用計時器或委託給 ActiveX EXE 元件。 在後者情況下,任務可以完全獨立於你的應用程式進行,作業系統會負責多工與時間切割。
每當你在事件程序中暫時放棄處理器時,務必確保該 程序 不會在第一次呼叫回傳前從程式碼的其他部分再次執行;這可能導致不可預測的結果。 此外,若其他應用程式可能在您交出控制權期間以不可預見的方式干擾您的程序,請勿使用 DoEvents 。
範例
此範例使用 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.
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。