Excel VBA目录方法

时间:2015-01-29 20:04:44

标签: excel vba

我已成功多次使用以下代码的形式来打开文件夹中的多个文件,我理解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是否设计为查找同一路径中文件列表中的下一个文件?

1 个答案:

答案 0 :(得分:3)

Dir函数声明Static variables并将其用于以后的调用。

我猜这个逻辑是:

  1. index_of_filenumber_of_files声明为静态整数

  2. 如果提供了参数,请将目录集index_of_file扫描到1,将number_of_files设置为文件夹中的文件数,然后返回第一个文件。 / p>

  3. 如果未提供参数,请递增index_of_file并返回包含该索引的文件,如果""

  4. 则返回index_of_file>number_of_files