Удаление файлов с помощью VBA в Excel
Добрый день, уважаемые читатели блога! Как водится, сегодня мы поговорим о программе Excel, но в не совсем привычной для нас функции - файловом менеджере. Постараюсь ответить на вопрос - может ли Excel с помощью макросов удалять файлы?
Ответ однозначный - да. Для этого в языке VBA есть специальный оператор - kill. Для нас он и представляет определённый интерес.
Давайте посмотрим как его можно использовать. Имеется папка (в моём примере это C:\Для всех), её нужно очистить от файлов с расширением *.xlsx.
Создадим новую книгу и, как обычно, добавим в неё стандартный модуль. Мы рассматривали этот алгоритм в предыдущих статьях.
- вкладка «Разработчик», кнопка «Visual basic»;
- вставляем новый модуль и помещаем следующий код макроса.
Sub DF()
' Удаление всех файлов из папки с расширением .xlsx
Kill "C:\Для всех\" & "*.xlsx"
End Sub
Будьте внимательны - макрос не удаляет файлы в "Корзину", а полностью стирает их с жёсткого диска компьютера!
Аналогично сочетанию клавиш Shift+Delete.
Проверим работоспособность нашего кода. Запустим окно выбора макросов комбинацией клавиш Alt+F8 и нажмём "Выполнить".
Результат на лицо - в папке остался только один файл "Изменение листа.xlsm" потому что у него разрешение не совпадает с указанным в макросе.
Также хочется отметить, что привычное сочетание клавиш Ctrl+Z не поможет восстановить файлы.
Необходимая оговорка - макрос можно использовать для всех типов файлов. Для этого необходимо изменить в макросе расширение *.xlsx на нужное для удаления вам.