Find/Return All Files in a directory tree - VB6

I would likw a very simple piece of code that (given a starting folder) will loop and return into an array every directory/filename combination (format ready for Open statement) in a directory and all its subdirectories. No special order is required. Thanks.
centech-groupAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Bob HoffmanDeveloperCommented:
Try this
 
 

Option Explicit
 
Dim mlngIndex As Long
Dim gstrFiles() As String
 
Private Sub Command1_Click()
    Call ListFiles("c:\temp")
End Sub
 
Private Sub ListFiles(strFolder As String)
    Dim oFs As Object
    Dim oFile As File
    Dim oFolder As Folder
    Dim oSubFolder As Folder
   
    Set oFs = CreateObject("Scripting.FileSystemObject")
    Set oFolder = oFs.GetFolder(strFolder)
    If Err.Number > 0 Then Exit Sub
   
    For Each oFile In oFolder.Files
        mlngIndex = mlngIndex + 1
        ReDim Preserve gstrFiles(mlngIndex)
        gstrFiles(mlngIndex - 1) = oFolder.Path & "\" & oFile.Name
    Next
    
    For Each oSubFolder In oFolder.SubFolders
        Call ListFiles(oSubFolder.Path)
    Next
  
    'Clean up
    Set oFs = Nothing
    Set oFolder = Nothing
 
End Sub

Open in new window

0
Mike TomlinsonMiddle School Assistant TeacherCommented:
ReDim Preserve will slow it down significantly if you have a large number of files...

...you could use a Collection instead like in my old example here:
http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_21205213.html
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Bob HoffmanDeveloperCommented:
Idle_Mind is correct about the ReDim slowing things down. But your question did say "loop and return into an array every directory/filename combination". Probably should have given you what you needed not what you asked for.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.