Як видалити папки за допомогою vba (з прикладами)
Для видалення папок у VBA можна використовувати такі методи:
Спосіб 1. Видаліть усі файли в папці
Sub DeleteFolderContents()
On Error Resume Next
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
On Error GoTo 0
End Sub
Цей конкретний макрос видалить усі файли в папці під назвою My_Data .
Спосіб 2: видалити всю папку
SubDeleteFolder ()
On Error Resume Next
'delete all files in folder
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
'delete empty folder
RmDir " C:\Users\bobbi\Desktop\My_Data\ "
On Error GoTo 0
End Sub
Цей конкретний макрос видалить всю папку My_Data , щоб вона більше не існувала.
Рядок On Error Resume Next повідомляє VBA, що якщо сталася помилка і папка не знайдена, повідомлення про помилку не повинно відображатися.
Потім ми використовуємо On Error GoTo 0 , щоб скинути повідомлення про помилку до налаштувань за замовчуванням.
Якщо ви хочете відобразити повідомлення про помилку, якщо папку не знайдено, просто видаліть ці два рядки з коду.
У наведених нижче прикладах показано, як використовувати кожен метод на практиці з такою папкою My_Data , яка містить три файли Excel:
Приклад 1: видалення всіх файлів у папці за допомогою VBA
Припустімо, ми хочемо використовувати VBA, щоб видалити всі файли з папки My_Data .
Для цього ми можемо створити такий макрос:
Sub DeleteFolderContents()
On Error Resume Next
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
On Error GoTo 0
End Sub
Коли ми запустимо цей макрос і знову відкриємо папку, ми побачимо, що всі файли видалено:
Приклад 2: видалення всієї папки за допомогою VBA
Якщо ви хочете за допомогою VBA видалити всю папку під назвою My_Data , щоб вона більше не існувала, ви можете створити такий макрос:
SubDeleteFolder ()
On Error Resume Next
'delete all files in folder
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
'delete empty folder
RmDir " C:\Users\bobbi\Desktop\My_Data\ "
On Error GoTo 0
End Sub
Коли ми запустимо цей макрос і відкриємо Провідник файлів, ми побачимо, що папка під назвою My_Data більше не існує:
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: Як підрахувати кількість аркушів у робочій книзі
VBA: як отримати дані з іншої книги
VBA: як видалити аркуш, якщо ім’я містить певний текст