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"
eliminare un file utilizzando la funzione kill vba

Questo codice ti mostrerà un errore se la cartella di lavoro che hai specificato da eliminare non esiste.

Link utili: Esegui una macroRegistratore di macroVisual Basic EditorManuale 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 tutti i file in una cartella utilizzando vba

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.
    delete a file using the file system object
  • Successivamente, utilizzare la funzione di creazione oggetto per restituire FileSystemObject assegnandolo alla variabile FSO.
    create object function
  • Successivamente, assegna il percorso alla variabile “myFile” per accedere al file che desideri eliminare.
    assign the path to the myfile
  • Alla fine, utilizza il metodo “DeleteFile” (vedi questo) per eliminare il file.
    use the delete file method

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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *