VBA怎么遍历某个目录下的所有子目录

VBA如何遍历某个目录下的所有子目录
aaa
aaa\bbb
aaa\bbb\ccc
aaa\bbb\ccc\ddd
aaa\bbb\ccc\ddd\eee
aaa\bbb\ccc\ddd\eee\fff
比如上面的目录结果,如果指定aaa,如何遍历aaa下面所有的子目录。一直到fff这个级别。
将子目录做成列表或者集合。

------解决方案--------------------
VB code
Dim strrec$(), TFolders&
Dim i&, fs, f, s

Private Sub Command1_Click()
   s = GetFolders("e:\music")
   If TFolders <= 0 Then MsgBox "无子文件夹": Exit Sub
   Me.Cls
   For i = 0 To UBound(s)
      Print s(i)
   Next i
   MsgBox "总共有: " & CStr(TFolders) & " 个子文件夹"
End Sub

Public Function GetFolders(Selpath$) As String()
   Set fs = CreateObject("Scripting.FileSystemObject")
   Selpath = IIf(Right(Selpath, 1) = "\", Mid(Selpath, 1, Len(Selpath) - 1), Selpath)
   Set f = fs.GetFolder(Selpath)
   ReDim Preserve strrec$(0)
   strrec(0) = Selpath
   TFolders = 0
   GetSubFolder f, 0
   GetFolders = strrec()
End Function

Private Sub GetSubFolder(f, n)
   Dim sf, f1
   Set sf = f.SubFolders
   If Not sf Is Nothing Then
      For Each f1 In sf
         GetSubFolder f1, n + 4
         TFolders = TFolders + 1
         ReDim Preserve strrec$(TFolders - 1)
         strrec(TFolders - 1) = f1
         DoEvents
      Next
   End If
End Sub




本文来自****博客,转载请标明出处:http://blog.****.net/cbm666/archive/2008/03/08/2158251.aspx