¿cómo eliminar un archivo usando vba en excel?
Para eliminar un archivo de Excel de una carpeta, puede utilizar dos métodos diferentes. El primer método es la instrucción «Kill» que toma la ruta del archivo para hacer referencia al archivo que desea eliminar. El segundo método es el objeto FileSystemObject que tiene un método asociado para eliminar un archivo.
Para usar estos códigos, vaya a VBE (Editor de códigos) desde la pestaña de desarrollador.
Eliminar un archivo usando VBA (función Kill)
La función Eliminar le ayuda a eliminar uno o varios archivos y a utilizar comodines para eliminar varios archivos. A continuación se muestra el código de una línea que elimina el archivo de la carpeta que tengo en el escritorio.
Kill "C:UsersDellDesktopSample Datafile-one.xlsx"
Este código le mostrará un error si el libro que especificó eliminar no existe.
Enlaces útiles: Ejecutar una macro – Grabador de macros – Editor de Visual Basic – Manual de macros personales
Eliminar todos los archivos en una carpeta usando VBA
Y si quieres eliminar todos los archivos que tienes en una carpeta, puedes utilizar un comodín.
Kill "C:UsersDellDesktopSample Data*.xl*"
Eliminar un archivo usando FileSystemObject (Objeto)
El objeto del sistema de archivos le permite acceder al sistema de archivos de la computadora. Puede obtener más información desde aquí, pero ahora escribamos un código para eliminar un archivo.
- Primero, debe declarar las variables que se utilizarán en el código como Binder y FileSystemObject.
- Después de eso, use la función de creación de objeto para devolver FileSystemObject asignándolo a la variable FSO.
- A continuación, asigne la ruta a la variable «myFile» para navegar hasta el archivo que desea eliminar.
- Al final, utilice el método «DeleteFile» (consulte esto) para eliminar el archivo.
código 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
Digamos que necesita escribir algún código que pueda verificar un archivo (exista o no) y luego eliminarlo. Aquí está el código que necesitas.
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