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