有时候,我们需要使用代码打开并处理指定文件夹中的所有工作簿,然后再关闭这些工作簿。例如,打开指定文件夹中的工作簿,获取工作簿中的数值,然后关闭工作簿。
下面的VBA代码小程序列出指定文件夹中所有工作簿文件名: Sub ProcessAllWorkbook(sPath As String) Dim Wb AsWorkbook, sFile As String
If Right(sPath,1) <> '\' Then sPath = sPath & '\'
sFile =Dir(sPath & '*.xls*')
Application.ScreenUpdating = False
'遍历指定文件路径中的所有工作簿文件 Do While sFile<> '' Set Wb =Workbooks.Open(sPath & sFile) '可以在这里编写处理工作簿的代码 '本例中为打印工作簿名称 Debug.PrintWb.Name '关闭工作簿,不保存任何修改 Wb.CloseFalse sFile = Dir Loop
Application.ScreenUpdating = True End Sub
我们使用下面的代码来测试ProcessAllWorkbook过程: Sub test() ProcessAllWorkbook('I:\ExcelTest') End Sub
上面的代码列出文件夹ExcelTest中所有的工作簿名称,如图所示。 ProcessAllWorkbook过程给出了一个代码框架,你可以替换Debug.Print语句,修改为你的代码,来实现对打开的工作簿的处理。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。 |
|