Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в 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 по тематическим разделам со ссылками на все статьи.

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

    Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора.