退出Excel和注销时出错

Excel VBA(2010在Windows 7上)需要一些帮助。 我想要做的是closuresExcel,然后closures电脑。 我有的代码是:

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) 

间歇性地,我得到以下错误:

不能退出Microsoft Excel

机器仍然退出,这是我想要的,所以这不是一个大问题。 我只想干净地退出。 我一直保持EWX_FORCE,因为我不想被窗口提示。 有什么build议么?

Application.Quit后丢失DoEvents可能吗? 包括,以便Excel有足够的时间来closures,否则你会得到一个错误。 顺便说一句,这对我工作。

此外,如果任何工作簿/工作簿被打开,那么closures它/它们是/不用保存代码是一个好主意,因为您可能会丢失数据。

 Public Declare Function ExitWindowsEx Lib "user32" (ByVal dwOptions As Long, _ ByVal dwReserved As Long) As Long Public Const EWX_LogOff As Long = 0 Public Const EWX_SHUTDOWN As Long = 1 Public Const EWX_REBOOT As Long = 2 Public Const EWX_FORCE As Long = 4 Sub Sample() ' '~~> Main Code Here ' Application.DisplayAlerts = False Application.Quit DoEvents ExitWindowsEx EWX_LogOff Or EWX_FORCE, &HFFFF End Sub 
Interesting Posts