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) End Sub 

Скопируйте и вставьте путь к папке.

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

Убейте "E: \ Excel Files"

Теперь поставьте еще одну обратную косую черту (\) и введите имя файла с расширением.

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

Когда вы запустите этот код, он удалит файл с именем «File 5.xlsx» в указанном пути к папке.

Удалить все файлы Excel

Чтобы удалить все файлы Excel в папке с помощью VBA, нам нужно использовать подстановочные знаки с функцией KILL. После указания пути к папке нам нужно указать файл как «* .xl *».

Код:

Убейте "E: \ Excel Files \ *. Xl *"

Когда вы запустите этот код, это удалит все файлы Excel в папке.

Мы видели, как можно удалить один файл Excel и все файлы Excel. Но если мы хотим удалить все файлы в папке, как мы можем это удалить. Поскольку мы используем Excel VBA, можно ли удалить другие файлы?

Ответ - да !!! Используйте приведенный ниже код, чтобы удалить все файлы в папке.

Код:

Убейте "E: \ Excel Files \ *. *"

Удалить только всю папку

Можно ли удалить саму папку?

Да, это возможно.

Для этого первое, что нам нужно сделать, это удалить все файлы в папке с помощью функции KILL, а затем для удаления папки нам нужно использовать еще одну функцию под названием RmDir .

Код:

RmDir "E: \ Excel Files \"

Здесь RmDir удалит только пустую папку, если есть какая-либо подпапка, он не может их удалить.

Удалить все текстовые файлы в папке

Чтобы удалить все текстовые файлы в папке, используйте приведенный ниже код.

Код:

Убейте "E: \ Excel Files \ *. Txt"

Удалить файлы только для чтения

Как я уже сказал, функция KILL не может удалять файлы «только для чтения» в папке. В таком случае нам нужно использовать две другие функции: «Dir $» и «SetAttr». Ниже приведен пример кода для удаления файлов, доступных только для чтения.

Код:

 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