VBA 文件夹递归
示例
早期绑定(参考MicrosoftScriptingRuntime)
Sub EnumerateFilesAndFolders( _
FolderPath As String, _
Optional MaxDepth As Long = -1, _
Optional CurrentDepth As Long = 0, _
Optional Indentation As Long = 2)
Dim FSO As Scripting.FileSystemObject
Set FSO = New Scripting.FileSystemObject
'Check the folder exists
If FSO.FolderExists(FolderPath) Then
Dim fldr As Scripting.Folder
Set fldr = FSO.GetFolder(FolderPath)
'Output the starting directory path
If CurrentDepth = 0 Then
Debug.Printfldr.Path
End If
'Enumerate the subfolders
Dim subFldr As Scripting.Folder
For Each subFldr In fldr.SubFolders
Debug.PrintSpace$((CurrentDepth + 1) * Indentation) & subFldr.Name
If CurrentDepth < MaxDepth Or MaxDepth = -1 Then
'Recursively call EnumerateFilesAndFolders
EnumerateFilesAndFolders subFldr.Path, MaxDepth, CurrentDepth + 1, Indentation
End If
Next subFldr
'Enumerate the files
Dim fil As Scripting.File
For Each fil In fldr.Files
Debug.PrintSpace$((CurrentDepth + 1) * Indentation) & fil.Name
Next fil
End If
End Sub
热门推荐
10 打麻将祝福语简短英文
11 简短元旦祝福语古言
12 集体年会祝福语简短创意
13 花童结婚祝福语大全简短
14 吃饭后祝福语2026简短
15 新婚贺词祝福语创意简短
16 别人的新年祝福语简短
17 生日祝福语对妈妈简短
18 卖奶茶开张祝福语简短