VBA Изтриване на файл | Как да изтрия файлове в папката с помощта на VBA код?

Във VBA можем да изтрием всеки файл, присъстващ в компютъра, като използваме VBA кодове, а кодът, който се използва за изтриване на който и да е файл, е известен като команда Kill, методът за изтриване на всеки файл е, че първо, ние предоставяме пътя на файла, което означава къде файлът се намира в компютъра и след това използваме командата Kill, за да изтрием файла.

Как да изтрия файлове с помощта на VBA код?

VBA е трудното нещо в началото, но тъй като прекарвате повече време с VBA, ще започнете да го обичате точно като мен. Можем да отваряме файлове от друга папка на компютър, можем да работим с тях и сега можем да изтриваме файлове и с помощта на VBA кодиране. В тази статия ще ви покажем как можете да изтриете файлове с помощта на VBA код в конкретната папка.

Когато работим с големи проекти, обикновено създаваме много междинни файлове, които да поддържат процеса ни. След като свършим цялата работа, трябва да изтрием тези файлове, за да избегнем всякакъв вид объркване в бъдеще.

И един от сценариите е, когато обикновено получаваме имейл, ние запазваме прикачени файлове за нашата редовна работа или просто искаме да видим отчета за този момент от времето и по-късно може да се наложи да изтрием тези файлове.

Изтриването на тези файлове ръчно ще отнеме време или може да забравим да запазим и това ще заеме мястото на нашия компютър. Ще ви покажем как да изтриете тези файлове с прости VBA кодове.

Метод Kill за изтриване на файлове в папка с помощта на VBA код

Една проста функция KILL ще изтрие папката, конкретен файл, всички Excel файлове и др. Погледнете синтаксиса на метода KILL във VBA. Методът Kill не може да изтрие файлове само за четене.

Име на пътя: името на пътя не е нищо друго освен пътя на папката в компютъра, за да изтриете файловете.

Забележка: Името на пътя може да включва и заместващи символи. Можем да използваме звездичка (*) и въпросителни знаци (?) Като заместващи знаци в Excel.

Звездичката (*) е полезна за съвпадение на всеки низ с произволна дължина, дори нула се счита.

Въпросният знак (?) Е полезен за съвпадение само на един знак.

Изтрийте конкретно име на файл

Например имам папка като по-долу.

В тази папка искам да изтрия файла, наречен „Файл 5“. Стартирайте кода с функцията KILL.

Код:

 Sub Delete_Files () Kill (PathName) Край Sub 

Копирайте и поставете пътя на папката.

И поставете в двойни кавички.

Убийте "E: \ Excel файлове"

Сега поставете още една наклонена черта (\) и въведете името на файла с разширение.

Убийте "E: \ Excel Files \ File5.xlsx"

Когато стартирате този код, той ще изтрие файла, наречен „Файл 5.xlsx“ в споменатия път на папката.

Изтрийте всички файлове на Excel

За да изтрием всички Excel файлове в папката, използвайки VBA, трябва да използваме заместващи символи с функция KILL. След като споменем пътя на папката, трябва да споменем файла като “* .xl *”

Код:

Убийте "E: \ Excel файлове \ *. Xl *"

Когато стартирате този код, това ще изтрие всички Excel файлове в папката.

Видяхме как можем да изтрием един файл на Excel и всички файлове на Excel. Но ако искаме да изтрием всички файлове в папката, как можем да го изтрием. Тъй като използваме Excel VBA, може ли да изтрие други файлове?

Отговорът е Да !!! Използвайте кода по-долу, за да изтриете всички файлове в папката.

Код:

Убийте "E: \ Excel файлове \ *. *"

Изтриване само на цялата папка

Възможно ли е да изтриете цялата папка?

Да, възможно е.

To do this, the first thing we need to do is we need to delete all the files in the folder by using KILL function, and then to delete folder we need to use one more function called RmDir.

Code:

RmDir "E:\Excel Files\"

Here RmDir will delete only the empty folder, if any subfolder is there it cannot delete them.

Delete All the Text Files in the Folder

To delete all the text files in the folder use the below code.

Code:

Kill "E:\Excel Files\*.txt"

Delete Read-Only Files

As I told KILL function cannot delete “Read Only” files in the folder. In such a case scenario we need to use the other two functions “Dir$” & “SetAttr” functions. Below is the example code to delete the read-only files as well.

Code:

 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