vba - 我如何一个一个打开所有的excel文件并运行一个宏

标签 vba file-io

我需要在 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/

相关文章:

vba - 在VBA上实现Vlookup公式,并处理错误1004

vba - 无法按换行符拆分单元格内容

VBA/Word 添加项目符号、编号等

python - 为什么截断不能正确默认为文件的当前位置?

bash - 从 airodump-ng 读取实时输出

vba - 尝试任何与 VBA 相关的操作后 Excel 崩溃

ms-access - 我可以以编程方式打开一个新的查询窗口吗?

c++ - C++如何从文件中读取数据

c - 如果我不在 C 程序中调用 fclose() 会发生什么?

c - 使用 fread 在单个缓冲区中读取二维数组的不同行