How To Search For A Folder In VBA

The purpose of this code is to tell you if you need to add a folder or not.

***You don’t need to create a new folder for some files if one exists already.

This code is helpful if you have hundreds of folders to go through, otherwise if you just have a few, you can just scan the short list with your eyeballs.

So we enter the name of the folder we want to look for, in our case it’s called “working”, and then run the code.

We’ll scan through a certain starting directory, in our case it’s called “C:\a”, and if the folder already exists, we’ll return the folder and its path, otherwise, we’ll tell the user that it’s ok to create the folder.

Here is the code:

Option Compare Database

Sub Main()
    Dim fsoFileSystem As Object
    Dim strMainFolder As String
    Dim strLookFor As String
    
    strLookFor = "working"
    strMainFolder = "C:\a"
    
    Set fsoFileSystem = CreateObject("Scripting.FileSystemObject")
    DoSubFolders fsoFileSystem.GetFolder(strMainFolder), strLookFor

    'if the code didn't find the folder, you will get this message.
    Msgbox "'" & strLookFor & "' is not found so go ahead and create it.", vbInformation

End Sub

Sub DoSubFolders(Folder, strLookFor)
    Dim objSubFolder As Object

    For Each objSubFolder In Folder.SubFolders
        
        Debug.Print "*****************************************"
        Debug.Print "SubFolder= " & objSubFolder.Name
        Debug.Print "*****************************************"
        
        If objSubFolder.Name = strLookFor Then
            MsgBox "You already have a folder called '" & strLookFor & "' at '" & objSubFolder.Path & "' . Don't add it again.", vbInformation
            
            'Exit the search
            End
            
        End If
        
        DoSubFolders objSubFolder, strLookFor
    Next
    Dim objFile As Object
    For Each objFile In Folder.Files
        ' Operate on each file
        Debug.Print "FileName= " & objFile.Name
        
    Next
End Sub

If the file is found, we get this message box:

…and if the file is not found (“working2”):

Any questions?

Offsite Related Information:

“Go Fund Me” Page


($5 suggested amount)

(…10% of your gift amount will go to charity)

Free! Subscribe To Our YouTube Channel!

Free MS Access VBA Programming Course

Facebooktwitterredditpinterestlinkedinmailby feather
Tags: , , ,