Come eliminare cartelle utilizzando vba (con esempi)
È possibile utilizzare i seguenti metodi in VBA per eliminare le cartelle:
Metodo 1: elimina tutti i file nella cartella
Sub DeleteFolderContents()
On Error Resume Next
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
On Error GoTo 0
End Sub
Questa particolare macro eliminerà tutti i file nella cartella denominata My_Data .
Metodo 2: elimina l’intera cartella
SubDeleteFolder ()
On Error Resume Next
'delete all files in folder
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
'delete empty folder
RmDir " C:\Users\bobbi\Desktop\My_Data\ "
On Error GoTo 0
End Sub
Questa particolare macro eliminerà l’intera cartella My_Data in modo che non esista più.
La riga On Error Resume Next indica a VBA che se si verifica un errore e la cartella non viene trovata, non dovrebbe essere visualizzato alcun messaggio di errore.
Utilizziamo quindi On Error GoTo 0 per ripristinare i messaggi di errore alle impostazioni predefinite.
Se vuoi visualizzare un messaggio di errore se la cartella non viene trovata, rimuovi semplicemente queste due righe dal codice.
I seguenti esempi mostrano come utilizzare in pratica ciascun metodo con la seguente cartella denominata My_Data che contiene tre file Excel:
Esempio 1: eliminare tutti i file nella cartella utilizzando VBA
Diciamo che vogliamo utilizzare VBA per eliminare tutti i file dalla cartella denominata My_Data .
Per fare ciò possiamo creare la seguente macro:
Sub DeleteFolderContents()
On Error Resume Next
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
On Error GoTo 0
End Sub
Una volta eseguita questa macro e aperta nuovamente la cartella, vedremo che tutti i file sono stati eliminati:
Esempio 2: eliminare un’intera cartella utilizzando VBA
Se desideri utilizzare VBA per eliminare l’intera cartella denominata My_Data in modo che non esista più, puoi creare la seguente macro:
SubDeleteFolder ()
On Error Resume Next
'delete all files in folder
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
'delete empty folder
RmDir " C:\Users\bobbi\Desktop\My_Data\ "
On Error GoTo 0
End Sub
Una volta eseguita questa macro e aperto Esplora file, vedremo che la cartella denominata My_Data non esiste più:
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come contare il numero di fogli in una cartella di lavoro
VBA: come estrarre i dati da un’altra cartella di lavoro
VBA: come eliminare un foglio se il nome contiene testo specifico