使用VBAclosuresExcel应用程序

我用了以下没有成功。 活跃的工作簿确实是closures的,但是excel窗口仍然打开。

Application.ActiveWindow.Close SaveChanges:=False ActiveWorkbook.Close SaveChanges:=False 

哪个是终止应用程序的命令?

编辑

多说一点:在工作簿打开事件我运行一个macros。 我想在macros完成时终止应用程序。 我也尝试过,没有成功。

 Private Sub Workbook_Open() Macro_MyJob Application.Quit End Sub 

我应该把这个Application.Quit命令放在哪里?

我认为你的问题是在发送命令退出应用程序之前closures调用macros的文档。

在这种情况下,您的解决scheme是不发送closures工作簿的命令。 相反,您可以将工作簿的“已保存”状态设置为true,这样可以规避任何有关closures未保存书籍的消息。 注意:这不保存工作簿; 它只是使它看起来像保存。

 ThisWorkbook.Saved = True 

然后,就在之后

 Application.Quit 

要避免保存提示消息,您必须插入这些行

 Application.DisplayAlerts = False ThisWorkbook.Save Application.DisplayAlerts = True 

保存您的工作后,您需要使用此行来退出Excel应用程序

 Application.Quit 

不要只是把这些行放在Private Sub Workbook_Open()中,除非你做了一个正确的条件检查,否则你可能会损坏你的excel文件。

为了安全起见,请创build一个模块来运行它。 以下是我所说的代码:

 Sub testSave() Application.DisplayAlerts = False ThisWorkbook.Save Application.DisplayAlerts = True Application.Quit End Sub 

希望它能帮助你解决问题。

 Application.Quit 

应该做的伎俩。

 Sub TestSave() Application.Quit ThisWorkBook.Close SaveChanges = False End Sub 

这似乎为我工作,即使看起来像退出应用程序之前保存,但它保存…

我尝试了一个似乎可以工作的特定顺序,如下所示:

 ThisWorkbook.Saved = True Application.Quit Application.ActiveWindow.Close SaveChanges:=False ActiveWorkbook.Close SaveChanges:=False 
 Sub button2_click() ' ' Button2_Click Macro ' ' Keyboard Shortcut: Ctrl+Shift+Q ' ActiveSheet.Shapes("Button 2").Select Selection.Characters.Text = "Logout" ActiveSheet.Shapes("Button 2").Select Selection.OnAction = "Button2_Click" ActiveWorkbook.Saved = True ActiveWorkbook.Save Application.Quit End Sub