Как удалить файлы с помощью 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\Боб\Рабочий стол\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: как удалить лист, если имя содержит определенный текст

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *