要用VBA来关闭
工作簿,用Workbook.Close
方法即可,而要退出Excel,则用脊链Application.Quit 方法:\x0d\x0a\x0d\x0a关闭活动工作簿,如果工作簿有唤困更改,
提示是否保存:\x0d\x0aSub CloseWorkbook()\x0d\x0aActiveWorkbook.Close\x0d\x0aEnd Sub\x0d\x0a\x0d\x0a如果要避免出现提示,可添加“SaveChanges”参数,如直接保存并关闭工作簿:\x0d\x0aSub ClostAndSaveWorkbook()\x0d\x0aActiveWorkbook.Close Savechanges:=True\x0d\x0aEnd Sub\x0d\x0a将上述代码中的“True”改为“False”,则直接关闭工作簿而不保存。\x0d\x0a关闭所有打开的工作簿,并提示是否保存:\x0d\x0aSub CloseAllWorkbooks()\x0d\x0aOn Error Resume Next\x0d\x0aWorkbooks.Close\x0d\x0aEnd Sub\x0d\x0a退出Excel,和野念并提示对有更改的工作簿进行保存:\x0d\x0aSub QuitExcel()\x0d\x0aApplication.Quit\x0d\x0aEnd Sub\x0d\x0a保存活动工作簿并退出Excel:\x0d\x0aSub SaveActiveWorkAndQuit()\x0d\x0aActiveWorkbook.Save\x0d\x0aApplication.Quit\x0d\x0aEnd Sub\x0d\x0a\x0d\x0a下面的代码在退出Excel时都不会提示是否保存工作簿。\x0d\x0a保存所有打开的工作簿并退出Excel:\x0d\x0aSub SaveAllAndQuit()\x0d\x0aFor Each wbk In Workbooks\x0d\x0awbk.Save\x0d\x0aNext\x0d\x0aApplication.Quit\x0d\x0aEnd Sub\x0d\x0a退出Excel,所有的改动都不保存:\x0d\x0aSub QutiAndNoAlerts()\x0d\x0aApplication.DisplayAlerts = False\x0d\x0aApplication.Quit\x0d\x0aEnd Sub
Sub 关闭方法1()
Application.DisplayAlerts = False
ThisWorkbook.Save
Application.Quit
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub
'---------------------------------------------
Sub 关闭方法2()
Application.DisplayAlerts = False
ThisWorkbook.Save
'Application.Quit
Application.DisplayAlerts = True
Shell "taskkill /f /im EXCEL.EXE"
End Sub
是这样的,Close和Quit方法,是可以亏茄退出工作簿,和直接彻底关掉Excel的Application的背景界面的,但是必须有先后顺序,你得先用Quit再接Close语句(比如上面方法1),原因是:用了Close之后,再接Quit,你的VBA工程就没有对象支持了,剩下任何代码都无法继续依托Excel对象运行。也可以用另一种方法(比如上面方法2),你用代码保存文档,然后用Bat(批处理)里面的方法,也就是用taskkill /F /IM “程序名称”方法在保存文档之后强制关闭Excel应用界面敏空,这种方法比较彻底桥空瞎,无残留。
Sub s()
前渗 n = MsgBox("是否继冲悔侍续?", vbYesNo)
If n = vbNo Then Exit Sub
[A8] = "圣散吵诞节"
End Sub
评论列表(0条)