我需要在 VBA 中编写一个宏,它将一个一个地打开给定目录中的每个文件并在它们上运行一个宏。
到目前为止,我有类似的东西
for i = 1 to number_of_files
open Dir("C:\yourPath\*.*", vbNormal)
call some_macro
close file
next i
最佳答案
调用Dir()
具有适当过滤器的函数,例如 "c:\folder\*.xls"
,您开始枚举并获取第一个文件名。
之后,反复调用Dir()
没有任何参数的函数,你会得到所有*.xls
文件名,每个调用一个。
通过调用 Workbooks.Open(full_path)
打开工作簿.这会给你一个 Workbook
对象,您可以对其运行宏。.Close()
这个方法Workbook
对象关闭工作簿。您可以使用 .Close(SaveChanges:=True)
保存更改,.Close(SaveChanges:=False)
放弃更改,或省略参数让用户决定。
关于vba - 我如何一个一个打开所有的excel文件并运行一个宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3375175/