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

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

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