FSO (File System Object)
Stands for File System Object which gives complete control over Drives, Folders and Files in Windows System. To understand complete File System Object using VBA please refer my previous article FSO (File System Object) using VBA. In this article we will do a PoC to find all files available within a Directory and underlying Sub Directories.
Code example
Public Sub ListAllFiles(oPath As String) 'Declare file system object Dim FSO As FileSystemObject 'Bind reference Set FSO = New FileSystemObject 'Object to bind all parent files Dim oParentFiles As Files 'Get all files of parent folder Set oParentFiles = FSO.GetFolder(oPath).Files 'object to bind all sub folders Dim oSubFolders As Folders Set oSubFolders = FSO.GetFolder(oPath).SubFolders Dim oFile As File 'Print files in parent or root folder For Each oFile In oParentFiles Debug.Print oFile.Name Next oFile 'Iterate each sub folder Dim oFolder As Folder For Each oFolder In oSubFolders 'object to bind all files in a sub folder Dim oListFiles As Files Set oListFiles = oFolder.Files 'Print each file from sub folder For Each oFile In oListFiles 'print file name Debug.Print oFile.Name Next oFile 'cleanup Set oListFiles = Nothing Next oFolder 'Memory cleanup Set oFolder = Nothing Set oFile = Nothing Set oSubFolders = Nothing Set oParentFiles = Nothing Set FSO = Nothing End Sub
Calling method
Public Sub PrintAllFilesExample() Call ListAllFiles("C:\Users\Downloads\Bin") End Sub
Please leave your comments or queries under comment section also please do subscribe to our blogs to keep your self upto date.