【发布时间】:2015-03-29 04:52:33
【问题描述】:
我已成功使用以下代码的形式多次打开文件夹中的多个文件,并且我了解 dir 如何帮助在 while 循环之前设置文件路径,但不太了解如何再次调用 dir 方法在 while 循环结束之前没有参数在文件夹中查找下一个文件:
Sub OpenFiles()
Dim MyFolder As String
Dim MyFile As String
MyFolder = "C:\newFolder"
MyFile = Dir(MyFolder & "\*.xlsx")
Do While MyFile <> ""
Workbooks.Open Filename:=MyFolder & "\" & MyFile
MyFile = Dir
Loop
End Sub
当对已经设置了值的字符串调用 Dir 时,Dir 是否设计为在同一路径的文件列表中查找下一个文件?
【问题讨论】:
-
MyFile = Dir 行用于获取下一个条目(即您的下一个文件)。看到这个:exceltrick.com/formulas_macros/vba-dir-function
-
谢谢亚历克斯,好文章。我喜欢它一开始就注意到 Dir 是一个“非常特殊”的函数,在我看来,它是专门设计的,预计需要在一个位置遍历多个文件,因此设计为以后不带参数调用。