Удаление файлов с помощью VBA в Excel

Удаление файлов с помощью VBA в Excel

Добрый день, уважаемые читатели блога! Как водится, сегодня мы поговорим о программе Excel, но в не совсем привычной для нас функции - файловом менеджере. Постараюсь ответить на вопрос - может ли Excel с помощью макросов удалять файлы?

Ответ однозначный - да. Для этого в языке VBA есть специальный оператор - kill. Для нас он и представляет определённый интерес. 

Давайте посмотрим как его можно использовать. Имеется папка (в моём примере это C:\Для всех), её нужно очистить от файлов с расширением *.xlsx.

Удаление файлов с помощью VBA в Excel

 

Создадим новую книгу и, как обычно, добавим в неё стандартный модуль. Мы рассматривали этот алгоритм в предыдущих статьях.

  • вкладка «Разработчик», кнопка «Visual basic»;
  • вставляем новый модуль и помещаем следующий код макроса.

 

Sub DF()
' Удаление всех файлов из папки с расширением .xlsx
Kill "C:\Для всех\" & "*.xlsx"
End Sub

Удаление файлов с помощью VBA в Excel

 

Будьте внимательны - макрос не удаляет файлы в "Корзину", а полностью стирает их с жёсткого диска компьютера! 

Аналогично сочетанию клавиш Shift+Delete.

Проверим работоспособность нашего кода. Запустим окно выбора макросов комбинацией клавиш Alt+F8 и нажмём "Выполнить".

Удаление файлов с помощью VBA в Excel

 

Результат на лицо - в папке остался только один файл "Изменение листа.xlsm" потому что у него разрешение не совпадает с указанным в макросе.

Также хочется отметить, что привычное сочетание клавиш Ctrl+Z не поможет восстановить файлы.

 

Удаление файлов с помощью VBA в Excel

 

Необходимая оговорка - макрос можно использовать для всех типов файлов. Для этого необходимо изменить в макросе расширение *.xlsx на нужное для удаления вам.

Автор записи: Иван

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.