用VBA关闭Excel应用程序
我使用了以下方法,但没有成功。活动工作簿确实会关闭,但excel窗口仍保持打开状态用VBA关闭Excel应用程序,excel,vba,excel-2007,Excel,Vba,Excel 2007,我使用了以下方法,但没有成功。活动工作簿确实会关闭,但excel窗口仍保持打开状态 Application.ActiveWindow.Close SaveChanges:=False ActiveWorkbook.Close SaveChanges:=False 哪个命令终止应用程序 编辑 再说一点:在工作簿打开事件中,我运行了一个宏。我想在宏完成时终止应用程序。我也试过了,但没有成功 Private Sub Workbook_Open() Macro_MyJob Applicat
Application.ActiveWindow.Close SaveChanges:=False
ActiveWorkbook.Close SaveChanges:=False
哪个命令终止应用程序
编辑
再说一点:在工作簿打开事件中,我运行了一个宏。我想在宏完成时终止应用程序。我也试过了,但没有成功
Private Sub Workbook_Open()
Macro_MyJob
Application.Quit
End Sub
我应该把这个应用程序放在哪里。退出命令
Application.Quit
应该这样做。我认为您的问题是,它在发送退出应用程序的命令之前关闭调用宏的文档 在这种情况下,您的解决方案是不发送关闭工作簿的命令。相反,您可以将工作簿的“已保存”状态设置为true,这样可以避免任何关于关闭未保存书籍的消息。注意:这不会保存工作簿;它只是让它看起来像是被拯救了
ThisWorkbook.Saved = True
然后,就在Application.Quit
要避免出现保存提示消息,必须插入这些行
Application.DisplayAlerts = False
ThisWorkbook.Save
Application.DisplayAlerts = True
保存工作后,您需要使用此行退出Excel应用程序
Application.Quit
除非您进行了正确的条件检查,否则不要简单地将这些行放在私有子工作簿_Open()中,否则可能会损坏excel文件
为了安全起见,请创建一个模块来运行它。以下是我输入的代码:
Sub testSave()
Application.DisplayAlerts = False
ThisWorkbook.Save
Application.DisplayAlerts = True
Application.Quit
End Sub
希望它能帮助您解决这个问题。我尝试了一个似乎有效的序列,您可以在下面看到:
ThisWorkbook.Saved = True
Application.Quit
Application.ActiveWindow.Close SaveChanges:=False
ActiveWorkbook.Close SaveChanges:=False
这似乎对我有用,虽然看起来我在保存前退出了应用程序,但它保存了 在我的例子中,我只需要关闭一个excel窗口,而不是整个应用程序,因此,我需要告诉要关闭的确切窗口,而不保存它 以下几行工作正常:
Sub test_t()
Windows("yourfilename.xlsx").Activate
ActiveWorkbook.Close SaveChanges:=False
End Sub
你可以试试
ThisWorkbook.Save
ThisWorkbook.Saved = True
Application.Quit
这对我也有用。但是,在等号之前缺少冒号,如下所示:SaveChanges:=False
Sub test_t()
Windows("yourfilename.xlsx").Activate
ActiveWorkbook.Close SaveChanges:=False
End Sub
ThisWorkbook.Save
ThisWorkbook.Saved = True
Application.Quit