В 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