Rajan_Verma
04-18-2012, 12:12 AM
Hi Guys,
Many times we need to loop through folders , sub folders and files , i have created a code to get the folder structure of a given path
================================================== =====================
Public ObjFolder As Object
Public objFso As Object
Public objFldLoop As Object
Public lngCounter As Long
Public objFl As Object
'================================================= ==
'A procedure to call the Function LoopThroughEachFolder(objFolder)
'================================================= ==
Sub GetFolderStructure()
'
lngCounter = 0
Set objFso = CreateObject("Scripting.FileSystemObject")
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
Set ObjFolder = objFso.GetFolder(.SelectedItems(1))
End With
Range("A1").Offset(lngCounter).Value = ObjFolder.Path
LoopThroughEachFolder ObjFolder
End Sub
'================================================= ==
'Function to Loop through each Sub Folders
'================================================= ==
Function LoopThroughEachFolder(fldFolder As Object)
For Each objFldLoop In fldFolder.subFolders
lngCounter = lngCounter + 1
Range("A1").Offset(lngCounter).Value = objFldLoop.Path
LoopThroughEachFolder objFldLoop
Next
End Function
'================================================= == =========
'In below function we have a nested loop to iterate each files also
'================================================= == =========
Function LoopThroughEachFolder1(fldFolder As Object)
For Each objFldLoop In fldFolder.subFolders
lngCounter = lngCounter + 1
Range("A1").Offset(lngCounter).Value = objFldLoop.Path
For Each objFl In objFldLoop.Files
Range("A1").Offset(lngCounter, 1).Value = objFl.Name
lngCounter = lngCounter + 1
Next
LoopThroughEachFolder1 objFldLoop
Next
End Function
Rajan.
Many times we need to loop through folders , sub folders and files , i have created a code to get the folder structure of a given path
================================================== =====================
Public ObjFolder As Object
Public objFso As Object
Public objFldLoop As Object
Public lngCounter As Long
Public objFl As Object
'================================================= ==
'A procedure to call the Function LoopThroughEachFolder(objFolder)
'================================================= ==
Sub GetFolderStructure()
'
lngCounter = 0
Set objFso = CreateObject("Scripting.FileSystemObject")
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
Set ObjFolder = objFso.GetFolder(.SelectedItems(1))
End With
Range("A1").Offset(lngCounter).Value = ObjFolder.Path
LoopThroughEachFolder ObjFolder
End Sub
'================================================= ==
'Function to Loop through each Sub Folders
'================================================= ==
Function LoopThroughEachFolder(fldFolder As Object)
For Each objFldLoop In fldFolder.subFolders
lngCounter = lngCounter + 1
Range("A1").Offset(lngCounter).Value = objFldLoop.Path
LoopThroughEachFolder objFldLoop
Next
End Function
'================================================= == =========
'In below function we have a nested loop to iterate each files also
'================================================= == =========
Function LoopThroughEachFolder1(fldFolder As Object)
For Each objFldLoop In fldFolder.subFolders
lngCounter = lngCounter + 1
Range("A1").Offset(lngCounter).Value = objFldLoop.Path
For Each objFl In objFldLoop.Files
Range("A1").Offset(lngCounter, 1).Value = objFl.Name
lngCounter = lngCounter + 1
Next
LoopThroughEachFolder1 objFldLoop
Next
End Function
Rajan.