![](/img/trans.png)
[英]Excel VBA store only selected Files in Array (not all in folder) and loop through them if at least one file was selected
[英]Vba code in access that loops through all excel files in a folder, opens, saves and closes them
我正在开发一个可以在 Access 中部署的 vba 脚本,它可以打开、保存和关闭某个文件夹中的所有 excel 文件。
到目前为止,我有这个代码,它有点工作,但有一些问题。 一个是它实际上明显地打开了 excel,并且在循环完成后,一个空的、看起来很奇怪的 excel 仍然打开。 有了这个,我还注意到,在进程下的任务管理器中,即使没有打开 excel 实例,这也会导致运行 excel 进程。
其次,由于格式是 xls,我正在处理 excel 兼容模式,不确定我是否找到了最佳解决方案,因为我有时会在之后收到错误消息,因为文件扩展名和格式不一样。
此外,我只是在按原样寻找对代码的一些一般改进。
这是我的代码:
Sub demo()
Dim directory As String, fileName As String
Dim Mywb As Workbook
Dim app As New Excel.Application
app.Visible = True
directory = "C:\Users\test\FolderA\"
fileName = Dir(directory & "*.xls")
Do While fileName <> ""
Workbooks.Open (directory & fileName)
fileName = Dir()
ActiveWorkbook.CheckCompatibility = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Loop
End Sub
我将解决看起来“奇怪”的 Excel。
最后需要app.Quit
以确保关闭打开的 Excel 应用程序。
如果不这样做,由于您的资源与未关闭的应用程序实例捆绑在一起,您最终将导致性能下降并最终崩溃。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.