Як видалити файли за допомогою vba (з прикладами)


Ви можете використовувати оператор Kill у VBA, щоб видалити певний файл Excel у певній папці.

Ось поширений спосіб використання цього твердження на практиці:

 SubDeleteFile ()

    On Error Resume Next
    Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
    On Error GoTo 0

End Sub

Цей конкретний макрос видаляє файл Excel під назвою soccer_data.xlsx , розташований у такій папці:

C:\Users\Bob\Desktop\My_Data

Рядок On Error Resume Next повідомляє VBA, що якщо сталася помилка і файл не знайдено, повідомлення про помилку не повинно відображатися.

Потім ми використовуємо On Error GoTo 0 , щоб скинути повідомлення про помилку до налаштувань за замовчуванням.

Якщо ви хочете відобразити повідомлення про помилку, якщо файл не знайдено, просто видаліть ці два рядки з коду.

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: видалення файлу за допомогою VBA

Припустимо, у нас є така папка, що містить три файли Excel:

Припустімо, ми хочемо використовувати VBA для видалення файлу під назвою soccer_data.xlsx .

Для цього ми можемо створити такий макрос:

 SubDeleteFile ()

    On Error Resume Next
    Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
    On Error GoTo 0

End Sub

Коли ми запустимо цей макрос і знову відкриємо папку, ми побачимо, що файл під назвою soccer_data.xlsx було видалено:

Всі інші файли залишилися недоторканими в папці.

Якщо ви хочете, щоб відображалося повідомлення про помилку, якщо файл не існує, ви можете використати такий макрос:

 SubDeleteFile ()

    Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"

End Sub

Коли ми запускаємо цей макрос, ми отримуємо таке повідомлення про помилку:

Ми отримуємо це повідомлення про помилку, оскільки файл soccer_data.xlsx уже видалено та більше не існує в папці.

Примітка : майте на увазі, що оператор Kill назавжди видаляє файл, а не просто надсилає його до кошика.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:

VBA: Як підрахувати кількість аркушів у робочій книзі
VBA: як отримати дані з іншої книги
VBA: як видалити аркуш, якщо ім’я містить певний текст

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

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