1
我需要Excel VBA(2010在Windows 7上)的一些幫助。 我想要做的是關閉Excel,然後關閉電腦。 我的代碼是:退出Excel並註銷時出錯
Declare Function ExitWindowsEx& Lib "User32" (ByVal uFlags As Long, ByVal dwReserved AS Long)
Global Const EWX_LOGOFF = 0
Global Const EWX_FORCE = 4
....Main Code Here ....
Application.DisplayAlerts = False
Application.Quit
Action = ExitWindows(EWX_LOGOFF or EWX_FORCE, 0)
間歇性地出現以下錯誤:
Cannot Quit Microsoft Excel
該機還註銷,雖然,這就是我要的,所以它不是一個大問題。我只想幹淨地退出。我一直保留EWX_FORCE,因爲我不想被窗口提示。 有什麼建議嗎?
當我添加Do Events時,我現在沒有註銷。 – rockOn123 2012-07-13 08:26:53
上面的代碼已經過測試和測試:)如果你沒有註銷,那麼有些東西會阻止系統註銷。因此,當您嘗試強制註銷時,您遇到了錯誤。 'DoEvents'給窗口時間來完成它在註銷之前所做的任何事情。發出上述命令時,您還可以檢查CPU活動。 – 2012-07-13 11:51:31
當我運行這個代碼時,只要vba命中'Application.Quit'行,Excel就會關閉(如預期的那樣),因此後續的行不會被處理。唯一可以讓我工作的方法是將'Application.Quit'行註釋掉,然後'DoEvents'和'ExitWindowsEx'行被處理。我在這裏錯過了什麼? – DaveU 2015-09-29 17:57:45