Sub Listfiles(ByVal mydir As String)
Dim n As Integer, dirlevel As Integer, fname As String, dirlist() As String, num As Long
num = 0
mydir = IIf(Right(mydir, 1) = "\", mydir, mydir & "\")
fname = Dir(mydir)
Do While fname <> ""
Debug.Print mydir & fname
num = num + 1
fname = Dir
DoEvents
Loop
fname = LCase(Dir(mydir, vbDirectory))
Do While fname <> ""
If fname <> "." And fname <> ".." Then
If GetAttr(mydir & fname) And vbDirectory Then
dirlevel = dirlevel + 1
ReDim Preserve dirlist(dirlevel)
dirlist(dirlevel) = mydir & fname
End If
End If
fname = Dir
DoEvents
Loop
For n = 1 To dirlevel
Listfiles dirlist(n) & "\"
Next
MsgBox "目录 " & mydir & " 共有 " & num & " 个文件"
End Sub
Private Sub Command1_Click()
Listfiles "f:\rc"
End Sub