Sub ListFolders() Dim folderPath As String Dim folderName As String ' 指定要遍历的文件夹路径 folderPath = "C:\Your\Directory\Path\" ' 初始化文件夹名为第一个文件夹(包含`.`和`..`) folderName = Dir(folderPath, vbDirectory) ' 遍历文件夹 Do While folderName <> "" ' 排除`.`...
例如,如果Dir函数返回一个目录的名称,那么就不能调用Dir函数迭代该目录下的文件并返回到原来的目录。 如果将参数attributes只设置为vbDirectory,则该函数的作用将与原来有所不同。如果参数pathname使用了通配符,则该函数仅仅返回与搜索条件相匹配的第一个目录。如果不提供新的...
但是,不能以递归方式调用 Dir 函数。 调用带 vbDirectory 属性的 Dir 不会连续返回子目录。 在Excel for Mac 2016 中,初始 Dir 函数调用将成功。 但是,对指定目录进行迭代的后续调用将导致错误。很遗憾,这是一个已知 bug。 4 DO WHILE 循环讲解 我们来详细看看在VBA中利用的第二种循环语句DO WHILE 循环: 1)...
MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry. Do While MyName <> "" ' Start the loop. ' Ignore the current directory and the encompassing directory. If MyName <> "." And MyName <> ".." Then ' Use bitwise comparison to make sure MyName is a directory. ...
vbReadOnly 1 指定只读文件以及不带属性的文件。vbHidden 2 指定隐藏文件以及不带属性的文件。vbSystem 4 指定系统文件以及不带属性的文件。 在 Macintosh 上不可用。vbVolume 8 指定卷标;如果指定任何其他属性,则忽略 vbVolume。 在 Macintosh 上不可用。vbDirectory 16 指定目录或文件夹以及不带属性的文件。vb...
vbDirectory16指定目录或文件夹以及不带属性的文件。 vbAlias64指定文件名为别名。 仅在 Macintosh 上可用。 在Microsoft Windows 中,Dir 支持使用多字符 (*) 和单字符 (?) 通配符来指定多个文件。 在 Macintosh 上,这些字符被视为有效文件名称字符,且不能用作指定多个文件的通配符。
(2)attributes参数设置为vbDirectory,返回的是无属性文件和文件夹的名称。 2.5 获取指定路径文件夹内所有子文件夹的名称 借助GetAttr函数,我们可以判断通过Dir函数返回的名称是属于文件还是文件夹。 GetAttr(pathname) The value returned by GetAttr is the sum of the following attribute values: 代码语言:javascript ...
因为你遍历子文件夹时调用带参数的Dir(folder, vbDirectory),子文件夹遍历结束后,再调用Dir默认的路径...
Dir(path, Attribute)其中path指要搜索的文件夹,Attribute指要搜索的文件属性,可用通过下列值来指定文件的属性:0 vbNormal:表示搜索正常文件。1 vbReadOnly:表示搜索只读文件。2 vbHidden:表示搜索隐藏文件。4 vbSystem:表示搜索系统文件。8 vbVolume:表示搜索卷标。16 vbDirectory:表示搜索文件夹。32 vbAlias...
MyName = dir(MyPath, vbDirectory) ' 找寻第一项。Do While MyName <> "" ' 开始循环。 ' 跳过当前的目录及上层目录。 If MyName <> "." And MyName <> ".." Then ' 使用位比较来确定 MyName 代表一目录。 If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then Debug.Print My...