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

VBA Excel. Объект FileSystemObject

    Объект FileSystemObject, предоставляющий в VBA Excel доступ к файловой системе компьютера. Создание экземпляра FileSystemObject и его методы. Примеры.

    Объект FileSystemObject

    FileSystemObject – это объект, который предоставляет доступ к файловой системе компьютера: дискам, папкам (каталогам), файлам.

    Объект FileSystemObject обеспечивает в коде VBA Excel следующие возможности:

    • Проверка существования диска, папки или файла.
    • Создание новой папки.
    • Создание текстового файла и предоставление последовательного доступа для записи.
    • Открытие текстового файла и предоставление последовательного доступа для записи или чтения.
    • Копирование, перемещение и удаление папок и файлов.
    • Работа с путями к папкам и файлам.
    • Возвращение имен дисков, папок и файлов.

    Создание, свойство, методы

    Создание экземпляра FileSystemObject

    Создать новый экземпляр объекта FileSystemObject можно с помощью раннего или позднего связывания.

    Раннее связывание

    В одну строку:

    В две строки:

    Позднее связывание

    Свойство FileSystemObject

    В VBA Excel у объекта FileSystemObject есть только одно свойство (Excel 2016):

    Свойство Описание
    Drives Возвращение коллекции всех дисков на компьютере

    Методы FileSystemObject

    Свойство Описание
    BuildPath Добавление имени в существующий путь
    CopyFile Копирование одного или нескольких файлов из одного расположения в другое
    CopyFolder Копирование одной или нескольких папок из одного расположения в другое
    CreateFolder Создание новой папки
    CreateTextFile Создание текстового файла и возвращение объекта TextStream, используемого для записи в файл
    DeleteFile Удаление одного или нескольких указанных файлов
    DeleteFolder Удаление одной или нескольких указанных папок
    DriveExists Проверка существования указанного диска
    FileExists Проверка существования указанного файла
    FolderExists Проверка существования указанной папки
    GetAbsolutePathName Возвращение полного пути из корневого каталога диска для указанного пути
    GetBaseName Возвращение базового имени указанного файла или папки
    GetDrive Возвращение объекта Drive, соответствующего диску в указанном пути
    GetDriveName Возвращение имени диска указанного пути
    GetExtensionName Возвращение расширения файла для последнего компонента в указанном пути
    GetFile Возвращение файла по указанному пути
    GetFileName Возвращение имени файла или папки для последнего компонента в указанном пути
    GetFileVersion Возвращение версии файла для последнего компонента в указанном пути
    GetFolder Возвращение папки по указанному пути
    GetParentFolderName Возвращение имени родительской папки последнего компонента в указанном пути
    GetSpecialFolder Возвращение пути к некоторым специальным папкам Windows
    GetStandardStream Возвращение стандартного ввода, вывода или потока ошибок
    GetTempName Возвращение созданного случайным образом временного файла или папки
    Move Перемещение указанного файла или папки из одного места в другое
    MoveFile Перемещение одного или нескольких файлов из одного места в другое
    MoveFolder Перемещение одного или нескольких папок из одного места в другое
    OpenTextFile Открытие файла по указанному пути и возвращение объекта TextStream, используемого для чтения, записи и добавления данных в файл

    Смотрите, как с помощью VBA Excel можно открыть папку в проводнике Windows для просмотра.

    Примеры кода с FileSystemObject

    Пример 1
    Получение списка всех дисков на компьютере с помощью свойства Drives:

    Используемые переменные:

    • fso – объект FileSystemObject;
    • drs – коллекция дисков на компьютере (Drives);
    • dr – один диск (Drive);
    • str – строка со списком всех дисков (буквенное обозначение и имя).

    Используемые свойства диска:

    • DriveLetter – буквенное обозначение диска;
    • VolumeName – присвоенное диску имя.

    Если у вас на компьютере только системный диск «C», вставьте пару USB-накопителей (флешек). Имя диску «C» можно присвоить, выбрав его в проводнике и нажав клавишу «F2».

    Результат работы кода будет примерно такой:

    Список дисков в информационном окне

    Пример 2
    Создание новой папки, проверка ее существования и удаление:

    При остановке программы во время отображения одного из первых двух информационных окон MsgBox, вы можете перейти в проводник и убедиться, что в каталоге, где расположен файл Excel с этим кодом VBA, есть папка «temp».

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