Excel VBA Dir方法

我已经成功地多次使用了以下代码的一种forms来打开一个文件夹中的多个文件,并且我知道dir如何帮助在while循环之前设置文件path,但不太了解如何再次调用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 

当在一个已经设置了值的string上调用Dir时,Dir是否devise为查看同一path下的文件列表中的下一个文件?

Dir函数声明一个静态variables并将其用于以后的调用。

我猜想这个逻辑是:

  1. index_of_filenumber_of_files声明为静态整数

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

  3. 如果没有提供参数,请增加index_of_file并返回带有该索引的文件,或者返回"" if index_of_file>number_of_files