Як видалити папки за допомогою 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: як видалити аркуш, якщо ім’я містить певний текст

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *