Come eliminare file utilizzando vba (con esempi)
È possibile utilizzare l’istruzione Kill in VBA per eliminare un file Excel specifico in una cartella specifica.
Ecco un modo comune per utilizzare questa affermazione nella pratica:
SubDeleteFile ()
On Error Resume Next
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
On Error GoTo 0
End Sub
Questa particolare macro elimina il file Excel chiamato football_data.xlsx situato nella seguente cartella:
C:\Utenti\Bob\Desktop\My_Data
La riga On Error Resume Next indica a VBA che se si verifica un errore e il file non viene trovato, 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 il file non viene trovato, rimuovi semplicemente queste due righe dal codice.
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: eliminare un file utilizzando VBA
Supponiamo di avere la seguente cartella contenente tre file Excel:
Diciamo che vogliamo usare VBA per eliminare il file chiamato football_data.xlsx .
Per fare ciò possiamo creare la seguente macro:
SubDeleteFile ()
On Error Resume Next
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
On Error GoTo 0
End Sub
Una volta eseguita questa macro e aperta nuovamente la cartella, vedremo che il file chiamato football_data.xlsx è stato eliminato:
Tutti gli altri file sono rimasti intatti nella cartella.
Se desideri che venga visualizzato un messaggio di errore se il file non esiste, puoi utilizzare la seguente macro:
SubDeleteFile ()
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
End Sub
Quando eseguiamo questa macro, riceviamo il seguente messaggio di errore:
Riceviamo questo messaggio di errore perché il file football_data.xlsx è già stato eliminato e non esiste più nella cartella.
Nota : tieni presente che l’istruzione Kill elimina permanentemente un file e non lo invia semplicemente nel Cestino.
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