社区主页 文章详情

[Excel]完整诠释“一键关闭所有工作簿”的方法

效率火箭 11-06 23:10 + 关注

[Excel]完整诠释“一键关闭所有工作簿”的方法

[Excel]完整诠释“一键关闭所有工作簿”的方法


如果你每天和Excel打交道,很有可能你会同时打开多个Excel文档进行跨表操作。可到了一天结束,你想要关机回家前,那么多Excel文档得一个个保存一个个关闭。有没有感到一丝丝繁琐,是的,本期火箭君来和大家介绍几种能够快速关闭并保存所有Excel文档的方法。

01

Shift + 关闭窗口按钮

想要关闭所有工作簿最快的方法就是:按住Shift键再按关闭窗口按钮

[Excel]完整诠释“一键关闭所有工作簿”的方法

如果所有工作簿已经被保存过了,那么它们会全部被就此被关闭。

如果其中有任何工作簿没有被保存,那么Excel会提示你去保存工作簿。

[Excel]完整诠释“一键关闭所有工作簿”的方法

其中的弹出窗口会包含“全部保存”这个选项。你可以选择点击此按钮来保存所有未被保存的工作簿。

02

添加一个“全部关闭”按钮

我们也可以在快速访问工具栏中添加“全部关闭”这个快捷按钮。它的具体作用和SHIFT+关闭窗口快捷键组合相同。

[Excel]完整诠释“一键关闭所有工作簿”的方法

这样操作的另一个好处是,快速访问工具栏还可以使用快捷键。比如在火箭君的设置中,只要按下Alt+08就能直接实现全部关闭这个命令。

[Excel]完整诠释“一键关闭所有工作簿”的方法

至于说,在哪里能找到“全部关闭”命令,你可以参考下图:

[Excel]完整诠释“一键关闭所有工作簿”的方法

03

使用Macro

对于Macro的强大,这边介绍三套Macro来对应三种不同的使用需要:

>>>>

关闭所有工作簿但不保存任何工作簿

如果我们不想保存任何打开的文档,那么你可以使用这样的Macro.

Sub Close_All_Files_No_Save()
'Close all open workbooks and don't save

Dim wb As Workbook

'Loop through each workbook
For Each wb In Application.Workbooks

'Prevent the workbook that contains the
'code from being closed
If wb.Name <> ThisWorkbook.Name Then

'Close the workbook and don't save changes
wb.Close SaveChanges:=False

End If
Next wb

End Sub

>>>>

除了未曾保存过的工作簿,关闭并保存所有其他工作簿

如果工作簿是在本次打开中新建的,那么这样的工作簿一般被程序命名为“工作簿x”。

[Excel]完整诠释“一键关闭所有工作簿”的方法

要是除了这些工作簿,你想要关闭并保存所有其他工作簿,则可以用这样的macro:

ub Save_and_Close_All_Files_Except_ScratchPads()
'Close all open workbooks except new unsaved files

Dim wb As Workbook

'Loop through each workbook
For Each wb In Application.Workbooks

'Prevent the workbook that contains the
'code from being closed
If wb.Name <> ThisWorkbook.Name Then

'Check if the file names has an extension
If InStr(Right(wb.Name, 5), ".xls") > 0 Then
wb.Close SaveChanges:=True
Else
'Do not save changes if it's a scratch pad.
wb.Close SaveChanges:=False
End If

End If
Next wb

End Sub

>>>>

关闭并保存所有工作簿,并给未曾保存过的工作簿自动命名

如果你想要关闭并保存所有工作簿,并且还要给那些未曾保存过的工作簿自动命名,那你可以使用以下的macro:

Sub Save_and_Close_All_Files()
'Close all open workbooks except new unsaved files

Dim wb As Workbook
Dim sPath As String

'The path where the new unsaved files will be saved.
'Change this to a folder on your computer. End with a backslash
sPath = "C:UsersusernameDocumentsExcel CampusScratch Pads"

'Loop through each workbook
For Each wb In Application.Workbooks

'Prevent the workbook that contains the
'code from being closed
If wb.Name <> ThisWorkbook.Name Then

'Check if the file names has an extension
If InStr(Right(wb.Name, 5), ".xls") > 0 Then
wb.Close SaveChanges:=True
Else
'Save scratchpads in a folder
wb.Close SaveChanges:=True, _
Filename:=sPath & wb.Name & Format(Now, " yyyy-mm-dd-hhmm")
End If

End If
Next wb

End Sub


未经授权,不得转载

展开阅读全文

打开App,查看更多好文内容

暂无评论,打开APP参与讨论

猜你喜欢
编辑精选
3
7
0
你已经点过赞了
新浪微博 QQ空间 微信好友 豆瓣
当前为触屏版
热门搜索