VBA Delete File | Com esborrar fitxers de la carpeta mitjançant el codi VBA?

A VBA podem eliminar qualsevol fitxer present a l’ordinador mitjançant codis VBA i el codi que s’utilitza per eliminar qualsevol fitxer es coneix com a ordre Kill; el mètode per suprimir qualsevol fitxer és que primer, proporcionem la ruta del fitxer que significa on el fitxer es troba a l’ordinador i, a continuació, fem servir l’ordre Kill per eliminar el fitxer.

Com esborrar fitxers mitjançant el codi VBA?

VBA és el més difícil al principi, però a mesura que passeu més temps amb VBA començareu a estimar-lo igual que jo. Podem obrir fitxers des d’una altra carpeta d’un ordinador, podem treballar amb ells i ara també podem eliminar fitxers mitjançant la codificació VBA. En aquest article, us mostrarem com podeu suprimir fitxers mitjançant el codi VBA a la carpeta específica.

Quan treballem amb grans projectes, normalment creem molts fitxers intermedis per donar suport al nostre procés. Un cop feta tota la feina, hem de suprimir aquests fitxers per evitar qualsevol tipus de confusió en el futur.

I un dels casos és que normalment rebem un missatge de correu electrònic desem fitxers adjunts per al nostre treball habitual o simplement volem veure l'informe corresponent a aquest moment i, més endavant, és possible que hàgim de suprimir aquests fitxers.

Si suprimiu aquests fitxers manualment, trigareu el temps o ens oblidarem de desar-los i ocuparà l’espai del nostre ordinador. Us mostrarem com eliminar aquests fitxers amb codis VBA simples.

Mètode Kill per eliminar fitxers d'una carpeta mitjançant el codi VBA

Una simple funció KILL suprimirà la carpeta, el fitxer específic, tots els fitxers Excel, etc. Mireu la sintaxi del mètode KILL a VBA. El mètode Kill no pot suprimir fitxers de només lectura.

Nom del camí: nom de ruta no és res més que el camí de la carpeta de l'ordinador per eliminar els fitxers.

Nota: El nom del camí també pot incloure caràcters comodins. Podem utilitzar un asterisc (*) i signes d’interrogació (?) Com a caràcters comodins a Excel.

Asterisk (*) és útil per fer coincidir qualsevol cadena de qualsevol longitud, fins i tot zero.

El signe d'interrogació (?) És útil per coincidir només amb un sol caràcter.

Suprimeix el nom del fitxer en particular

Per exemple, tinc una carpeta com la següent.

En aquesta carpeta, vull suprimir el fitxer anomenat "Fitxer 5". Inicieu el codi amb la funció KILL.

Codi:

 Sub Delete_Files () Kill (PathName) End Sub 

Copieu i enganxeu el camí de la carpeta.

I Enganxa entre cometes dobles.

Mata "E: \ Excel Files"

Ara poseu una barra inclinada cap enrere (\) i introduïu el nom del fitxer amb l'extensió.

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

Quan executeu aquest codi, suprimirà el fitxer anomenat "Fitxer 5.xlsx" a la ruta de la carpeta esmentada.

Suprimiu tots els fitxers Excel

Per eliminar tots els fitxers Excel de la carpeta mitjançant VBA, hem d’utilitzar caràcters comodins amb la funció KILL. Després d'esmentar el camí de la carpeta, hem d'esmentar el fitxer com a "* .xl *"

Codi:

Mata "E: \ Fitxers Excel \ *. Xl *"

Quan executeu aquest codi, se suprimiran tots els fitxers Excel de la carpeta.

Hem vist com podem eliminar un sol fitxer Excel i tots els fitxers Excel. Però si volem eliminar tots els fitxers de la carpeta, com podem eliminar-lo. Com que fem servir Excel VBA, pot suprimir altres fitxers?

La resposta és Sí !!! Utilitzeu el codi següent per suprimir tots els fitxers de la carpeta.

Codi:

Mata "E: \ Fitxers Excel \ *. *"

Suprimeix només tota la carpeta

És possible suprimir tota la carpeta?

Sí, és possible.

Per fer-ho, el primer que hem de fer és que hem d’eliminar tots els fitxers de la carpeta mitjançant la funció KILL i, a continuació, per esborrar la carpeta hem d’utilitzar una funció més anomenada RmDir.

Codi:

RmDir "E: \ Fitxers Excel \"

Aquí RmDir esborrarà només la carpeta buida, si hi ha alguna subcarpeta no les pot suprimir.

Suprimiu tots els fitxers de text de la carpeta

Per suprimir tots els fitxers de text de la carpeta, utilitzeu el codi següent.

Codi:

Mata "E: \ Excel Files \ *. Txt"

Suprimiu fitxers de només lectura

Com he dit, la funció KILL no pot eliminar fitxers de "només lectura" de la carpeta. En aquest cas, hem d'utilitzar les altres dues funcions "Dir $" i "SetAttr". A continuació es mostra l’exemple de codi per eliminar també els fitxers de només lectura.

Codi:

 Sub Delete_Files1 () Atenuar DeleteFile Com a cadena DeleteFile = "E: \ Excel Files \" Si Len (Dir $ (DeleteFile))> 0 A continuació, defineixAttr DeleteFile, vbNormal Kill DeleteFile End Si finalitza Sub 

Podeu descarregar aquesta plantilla Excel per eliminar fitxers VBA des d’aquí: plantilla Excel per eliminar fitxers VBA