我已成功多次使用以下代码的形式来打开文件夹中的多个文件,我理解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是否设计为查找同一路径中文件列表中的下一个文件?
答案 0 :(得分:3)
Dir
函数声明Static variables并将其用于以后的调用。
我猜这个逻辑是:
将index_of_file
和number_of_files
声明为静态整数
如果提供了参数,请将目录集index_of_file
扫描到1
,将number_of_files
设置为文件夹中的文件数,然后返回第一个文件。 / p>
如果未提供参数,请递增index_of_file
并返回包含该索引的文件,如果""
index_of_file>number_of_files
醇>