Posted by: Hero
« on: November 14, 2008, 12:59:58 PM »[size=]Loop Through Folders/Files[/size]
Author: Unknown - Edited by Hero
Use: Loops through all sub folders and files starting from a root directory
Author: Unknown - Edited by Hero
Use: Loops through all sub folders and files starting from a root directory
Code: [Select]
Dim arrFolder()
Dim arrFile()
ReDim arrFolder(-1)
ReDim arrFile(-1)
sRootPath = "C:\Program Files"
ShowFolderList(sRootPath)
Sub ShowFolderList(sPath)
Dim objFSO, file
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set folder = objFSO.GetFolder(sPath)
For Each file In folder.Files
Call AddItem(arrFile, sPath & "\" & file.Name)
Next
For Each subfolder In folder.SubFolders
Call ShowSubFolderList(subfolder, sPath)
Next
For Each sFolder In arrFolder
'// This is your folder output
MsgBox sFolder
Next
For Each sFile In arrFile
'// This is your file output
MsgBox sFile
Next
Set file = Nothing
Set objFSO = Nothing
End Sub
Sub ShowSubFolderList(fld, sParent)
i = 0
For Each subfld In fld.SubFolders
Call ShowSubFolderList(subfld, sParent & "\" & fld.Name)
i = i + 1
Next
If i = 0 Then
Call AddItem(arrFolder, sParent & "\" & fld.name)
End If
For Each fil In fld.Files
Call AddItem(arrFile, sParent & "\" & fld.name & "\" & fil.Name)
Next
End Sub
Sub AddItem(ByRef arrTemp, addValue)
ReDim Preserve arrTemp(UBound(arrTemp)+1)
arrTemp(UBound(arrTemp)) = addValue
End Sub