In questo post vedremo come verificare l’esistenza di una cartella con una macro di Excel VBA. Nel caso in cui la cartella non fosse esistente la andremo a creare.
Per la verifica della cartella useremo la seguente funzione
1 2 3 4 5 6 7 8 9 10 11 |
Sub checkCartella() Dim path As String path = "D:\Excel\Cartella\" If Dir(path, vbDirectory) <> vbNullString Then MsgBox "Cartella esistente" Else MsgBox "La cartella non esiste" End If End Sub |
Il risultato verrà visualizzato tramite Message Box e nel caso la directory fosse valida visualizzeremo:

Mentre nel caso in cui non fosse esistente visualizzeremo:

Adesso utilizzeremo la seguente routine per la creazione della cartella
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub creaCartella() Dim Cartella As Object Set Cartella = CreateObject("Scripting.FileSystemObject") On Error GoTo ErrorMessage Cartella.CreateFolder ("D:\Excel\Cartella\") MsgBox "La cartella è stata creata" Exit Sub ErrorMessage: MsgBox "La cartella esiste già" End Sub |
Una volta avviata la routine la cartella verrà creata nel percorso specificato

Le due routine sono state mostrate in maniera indipendente solo a scopo illustrativo. Si capisce bene che queste due operazioni viaggiano spesso insieme, ovvero: controllo se la cartella esiste, in caso contrario la creo subito.
Qui in basso le due ruotine mostrate prima, stavolta in unica routine, che permette appunto prima il controllo e in caso la creazione della cartella stessa
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub checkOrCreateCartella() Dim path As String path = "D:\Excel\Cartella\" If Dir(path, vbDirectory) <> vbNullString Then MsgBox "Cartella esistente" Else Dim Cartella As Object Set Cartella = CreateObject("Scripting.FileSystemObject") Cartella.CreateFolder ("D:\Excel\Cartella\") MsgBox "La cartella è stata creata" End If End Sub |