Come eliminare un file utilizzando vba in excel?
Per eliminare un file Excel da una cartella, puoi utilizzare due metodi diversi. Il primo metodo è l’istruzione “Kill” che prende il percorso del file per fare riferimento al file che desideri eliminare. Il secondo metodo è l’oggetto FileSystemObject a cui è associato un metodo per eliminare un file.
Per utilizzare questi codici, vai a VBE (editor di codice) dalla scheda sviluppatore.
Elimina un file utilizzando VBA (funzione Kill)
La funzione Kill ti aiuta a eliminare un singolo file o più file e a utilizzare i caratteri jolly per eliminare più file. Di seguito è riportato il codice di una riga che elimina il file dalla cartella che ho sul desktop.
Kill "C:UsersDellDesktopSample Datafile-one.xlsx"
Questo codice ti mostrerà un errore se la cartella di lavoro che hai specificato da eliminare non esiste.
Link utili: Esegui una macro – Registratore di macro – Visual Basic Editor – Manuale delle macro personali
Elimina tutti i file in una cartella utilizzando VBA
E se vuoi eliminare tutti i file che hai in una cartella, puoi usare un carattere jolly.
Kill "C:UsersDellDesktopSample Data*.xl*"
Elimina un file utilizzando FileSystemObject (Oggetto)
L’oggetto file system consente di accedere al file system del computer. Puoi saperne di più da qui, ma ora scriviamo un codice per eliminare un file.
- Innanzitutto è necessario dichiarare le variabili da utilizzare nel codice come Binder e FileSystemObject.
- Successivamente, utilizzare la funzione di creazione oggetto per restituire FileSystemObject assegnandolo alla variabile FSO.
- Successivamente, assegna il percorso alla variabile “myFile” per accedere al file che desideri eliminare.
- Alla fine, utilizza il metodo “DeleteFile” (vedi questo) per eliminare il file.
Codice completo
Sub vba_delete_file() Dim FSO Dim myFile As String Set FSO = CreateObject("Scripting.FileSystemObject") myFile = "C:UsersDellDesktopSample Datafile1.xlsx" FSO.DeleteFile myFile, True End Sub
Diciamo che devi scrivere del codice in grado di controllare un file (esiste o meno) e quindi eliminarlo. Ecco il codice che ti serve.
Sub vba_delete_file() Dim FSO Dim myFile As String Set FSO = CreateObject("Scripting.FileSystemObject") myFile = "C:UsersDellDesktopSample Datafile1.xlsx" If FSO.FileExists(myFile) Then FSO.DeleteFile myFile, True MsgBox "Deleted" Else MsgBox "There's no workbook with this name." End If End Sub