[英]Close all files in a folder
我有以下代码可以打开指定文件夹中的所有文件
Sub OpenFiles()
Dim MyFolder As String
Dim MyFile As String
MyFolder = "\\ILAFILESERVER\Public\Documents\Renewable Energy\FiTs\1 Planning Department\Marks Tracker\Quality Control Reports"
MyFile = Dir(MyFolder & "\*.xlsx")
Do While MyFile <> ""
Workbooks.Open Filename:=MyFolder & "\" & MyFile
MyFile = Dir
Loop
End Sub
是否可以使用类似的代码关闭文件夹中的所有文件。 在此先感谢您提供的任何帮助。
Workbooks.Open将返回对工作簿指针的引用。 打开工作簿后,立即将其保存在Collection中(使用Collection.Add)。 当您要关闭所有工作簿时,请遍历集合(使用For Each)并关闭每个元素。 然后从集合中删除所有元素。
尝试
Workbooks.Close
从Excel Visual Basic帮助文档:
本示例关闭所有打开的工作簿。 如果任何打开的工作簿中有更改,Microsoft Excel将显示相应的提示和对话框以保存更改。
您是否需要同时打开它们? 因为否则:
Sub OpenFiles()
Dim MyFolder As String
Dim MyFile As String
MyFolder = "\\ILAFILESERVER\Public\Documents\Renewable Energy\FiTs\1 Planning Department\Marks Tracker\Quality Control Reports"
MyFile = Dir(MyFolder & "\*.xlsx")
Dim wb As Workbook
Do While MyFile <> ""
Set wb = Workbooks.Open Filename:=MyFolder & "\" & MyFile
'Do stuff
wb.Close False 'The false will close without saving
MyFile = Dir
Loop
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.