Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Удаление файлов

    Удаление любых файлов из кода VBA Excel с помощью оператора Kill и метода DeleteFile объекта FileSystemObject. Знаки подстановки, синтаксис, примеры.

    Оператор Kill

    Описание

    Kill – это оператор, предназначенный для удаления файлов с диска.

    Синтаксис

    • PathName – это строковое выражение, задающее одно или несколько имен файлов (по шаблону), которые требуется удалить.

    Строка PathName может содержать каталоги (папки) и букву диска. Если файл с именем PathName не существует, будет сгенерирована ошибка.

    Оператор Kill поддерживает использование знаков подстановки в последнем компоненте параметра PathName (собственное имя файла без пути к нему):

    • Звездочка (*) – заменяет любое количество символов или ни одного.
    • Вопросительный знак (?) – заменяет один символ или ни одного.

    Знаки подстановки позволяют создать шаблон, по которому можно удалить сразу несколько файлов.

    Примеры

    Пример 1
    Удаление одного файла без проверки его существования (в примере — удаление книги Excel):

    Инструкция On Error Resume Next нужна для того, чтобы корректно завершить программу в том случае, если файла с именем PathName не существует.

    Пример 2
    Удаление одного файла с проверкой его существования:

    Пример 3
    Удаление нескольких файлов по шаблону:

    В результате работы этого кода VBA Excel будут удалены все файлы с любыми расширениями, которые начинаются со слова «Справка». Если строку Kill "C:\Новая папка\Справка*" заменить строкой Kill "C:\Новая папка\*2020*", она удалит все файлы, в имени которых есть подстрока «2020».

    Как удалить объект ThisWorkbook с помощью оператора Kill из кода VBA Excel, размещенного в нем же, смотрите в статье: Удаление книги из собственного кода.

    Метод DeleteFile

    Описание

    DeleteFile – это метод объекта FileSystemObject, предназначенный для удаления файлов с диска из кода VBA Excel.

    Синтаксис

    • Object – переменная, возвращающая объект FileSystemObject (обязательный параметр);
    • PathName – строковое выражение, задающее одно или несколько имен файлов (по шаблону), которые требуется удалить (обязательный параметр);
    • force – значение типа Boolean: True – удаляются все файлы, False (по умолчанию) – не удаляются файлы с атрибутом «только для чтения» (необязательный параметр).

    В последнем компоненте параметра PathName (собственное имя файла без пути к нему) можно использовать знаки подстановки, также, как и для оператора Kill. Если указанный файл не существует, будет сгенерирована ошибка.

    Примеры

    Пример 4
    Удаление одного файла с проверкой его существования:

    Пример 5
    Удаление нескольких или всех файлов по шаблону:

    В результате работы этого кода VBA Excel из папки «Новая папка» будут удалены все файлы с расширением .docx.


    Фразы для контекстного поиска: удаление файла, удаление всех файлов, удаление нескольких книг, удаление всех книг, удаление по шаблону.


    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.