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并将其用于以后的调用。
我猜想这个逻辑是:
-
将
index_of_file
和number_of_files
声明为静态整数 -
如果提供了参数,则将目录集
index_of_file
扫描为1
,将number_of_files
设置index_of_file
文件夹中的文件数,然后返回第一个文件。 -
如果没有提供参数,请增加
index_of_file
并返回带有该索引的文件,或者返回""
ifindex_of_file>number_of_files