'添加 Command1
Option Explicit
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