VBA Eliminar archivo

En VBA podemos eliminar cualquier archivo presente en la computadora usando códigos VBA y el código que se usa para eliminar cualquier archivo se conoce como comando Kill, el método para eliminar cualquier archivo es que primero, proporcionamos la ruta del archivo, lo que significa dónde el archivo está ubicado en la computadora y luego usamos el comando Kill para eliminar el archivo.

¿Cómo eliminar archivos usando el código VBA?

VBA es lo difícil al principio, pero a medida que pases más tiempo con VBA, comenzarás a amarlo como a mí. Podemos abrir archivos desde otra carpeta de una computadora, podemos trabajar con ellos y ahora también podemos eliminar archivos usando la codificación VBA. En este artículo, le mostraremos cómo puede eliminar archivos usando el código VBA en la carpeta específica.

Cuando trabajamos con proyectos grandes, generalmente creamos muchos archivos intermedios para respaldar nuestro proceso. Una vez hecho todo el trabajo, debemos eliminar esos archivos para evitar cualquier tipo de confusión en el futuro.

Y un escenario es cuando generalmente recibimos un correo electrónico, guardamos archivos adjuntos para nuestro trabajo regular o simplemente queremos ver el informe para ese momento y luego es posible que necesitemos eliminar esos archivos.

Eliminar esos archivos manualmente llevará tiempo o es posible que olvidemos guardarlos y ocupará el espacio en nuestra computadora. Le mostraremos cómo eliminar esos archivos con códigos VBA simples.

Método Kill para eliminar archivos en una carpeta usando código VBA

Una simple función KILL eliminará la carpeta, el archivo específico, todos los archivos de Excel, etc. Eche un vistazo a la sintaxis del método KILL en VBA. El método Kill no puede eliminar archivos de solo lectura.

Nombre de ruta : el nombre de ruta no es más que la ruta de la carpeta en la computadora para eliminar los archivos.

Nota: El nombre de la ruta también puede incluir caracteres comodín. Podemos usar un asterisco (*) y signos de interrogación (?) Como caracteres comodín en Excel.

El asterisco (*) es útil para hacer coincidir cualquier cadena de cualquier longitud, incluso se considera cero.

El signo de interrogación (?) Es útil para hacer coincidir un solo carácter.

Eliminar nombre de archivo particular

Por ejemplo, tengo una carpeta como la siguiente.

En esta carpeta, quiero eliminar el archivo llamado "Archivo 5". Inicie el código con la función KILL.

Código:

 Sub Delete_Files () Kill (PathName) End Sub 

Copie y pegue la ruta de la carpeta.

Y pegar entre comillas dobles.

Mata "E: \ Archivos de Excel"

Ahora ponga una barra diagonal más hacia atrás (\) e ingrese el nombre del archivo con la extensión.

Mata "E: \ Archivos Excel \ File5.xlsx"

Cuando ejecute este código, eliminará el archivo llamado "Archivo 5.xlsx" en la ruta de la carpeta mencionada.

Eliminar todos los archivos de Excel

Para eliminar todos los archivos de Excel en la carpeta usando VBA, necesitamos usar caracteres comodín con la función KILL. Después de mencionar la ruta de la carpeta, debemos mencionar el archivo como "* .xl *"

Código:

Elimina "E: \ Archivos de Excel \ *. Xl *"

Cuando ejecute este código, esto eliminará todos los archivos de Excel en la carpeta.

Hemos visto cómo podemos eliminar un solo archivo de Excel y todos los archivos de Excel. Pero si queremos eliminar todos los archivos de la carpeta, ¿cómo podemos eliminarlo? Dado que estamos usando Excel VBA, ¿puede eliminar otros archivos?

¡¡¡La respuesta es sí!!! Utilice el siguiente código para eliminar todos los archivos de la carpeta.

Código:

Mata "E: \ Archivos de Excel \ *. *"

Eliminar solo toda la carpeta

¿Es posible eliminar toda la carpeta?

Sí, es posible.

Para hacer esto, lo primero que debemos hacer es eliminar todos los archivos en la carpeta usando la función KILL, y luego para eliminar la carpeta necesitamos usar una función más llamada RmDir .

Código:

RmDir "E: \ Archivos de Excel \"

Aquí RmDir eliminará solo la carpeta vacía, si hay alguna subcarpeta allí, no puede eliminarla.

Eliminar todos los archivos de texto de la carpeta

Para eliminar todos los archivos de texto en la carpeta, use el siguiente código.

Código:

Mata "E: \ Archivos de Excel \ *. Txt"

Eliminar archivos de solo lectura

Como dije, la función KILL no puede eliminar archivos de "Sólo lectura" en la carpeta. En tal escenario, necesitamos usar las otras dos funciones “Dir $” y “SetAttr”. A continuación se muestra el código de ejemplo para eliminar también los archivos de solo lectura.

Código:

 Sub Delete_Files1() Dim DeleteFile As String DeleteFile = " E:\Excel Files\" If Len(Dir$(DeleteFile)) > 0 Then SetAttr DeleteFile, vbNormal Kill DeleteFile End If End Sub 

You can download this VBA Delete File Excel Template from here – VBA Delete File Excel Template