MyTetra Share
Делитесь знаниями!
VBA: объектная модель FSO
Время создания: 16.03.2019 23:43
Текстовые метки: CreateObject("Scripting.FileSystemObject"), Drives, FileSystemObject, FSO, object .Drives, SCRRUN.DLL
Раздел: !Закладки - VBA - FSO
Запись: xintrea/mytetra_db_adgaver_new/master/base/1514447134km3m7cc71h/text.html на raw.githubusercontent.com

VBA: объектная модель FSO


FileSystemObject (FSO) – основной объект группы с полными методами, которые позволят Вам создавать, удалять, получать информацию, выполнять произвольные манипуляции с логическими дисками, каталогами и файлами, т.е. данный объект обеспечивает доступ к файловой системе компьютера. Многие из методов, связанных с этим объектом дублированы в других объектах.

Порядок использования объектной модели FileSystemObject, т.е. ее объектов с их свойствами и методами при программировании приложения следующий:

- подключить к проекту библиотеку типов SCRRUN.DLL. Эта библиотека входит в комплект поставки последних разновидностей Windows95, а все более новые Windows, как 9x, так и NT содержат ее обязательно. Получить эту бибилотеку можно бесплатно на сайте Microsoft http://msdn.microsoft.com/scripting.

- создать новый объект типа FileSystemObject стандартными методами (посредством New или CreateObject)

- использовать его методы и свойства для получения необходимой информации, в том числе ссылок на другие (подчиненные) объекты модели. Соответственно, использовать методы и свойства подчиненных объектов модели.

После завершения работы закрыть все использованные объекты, начиная с нижних в иерархии. Там где это необходимо использовать для закрытия объектов их методы, в прочих случаях использовать

Set objvar=Nothing

Объектная модель включает следующие классы


Класс (тип объекта)

Назначение

FileSystemObject

Обеспечивает доступ к файловой системе компьютера.

Drives

Cодержит объекты Drive, каждый из которых ассоциируется ровно с одним диском в файловой системе компьютера, с учетом сети.

Drive

Обеспечивает доступ к информации о заданном диске компьютера002E

Folders

Семейство Folders содержит объекты Folder, каждый из которых ассоциируется ровно с одним подкаталогом заданного каталога.

Folder

Обеспечивает доступ к информации о заданной папке, содержащимся в ней папках и каталогах, а также методы перемещения папки и создания текстового файла.

Files

Семейство Files содержит все объекты File, каждый из которых ассоциируется ровно с одним файлом в заданной папке.

File

Обеспечивает доступ к информации о заданном файле, методы перемещения файла и открытия текстового файла в режиме последовательного доступа.

TextStream

Обеспечивает проведение операций чтения/записи для текстового файла открытого в режиме последовательного доступа.

Объект FileSystemObject обеспечивает доступ к файловой системе компьютера. Будучи объектом верхнего уровня объектной модели FileSystemObject является “точкой входа” в файловую систему компьютера. Только после его создания возможен доступ к другим объектам модели, их методам и свойствам.

Dim objFSO As FileSystemObject

Set objFSO = CreateObject(“Scripting.FileSystemObject”)

или

Set objFSO = New FileSystemObject

 

Свойства объекта FileSystemObject


Свойство

Тип данных

Чтение/запись

Описание

Drives

Drives

Только чтение

Содержит ссылку на семейство Drives, содержащую объекты для каждого устройства дисковой памяти компьютера

 

Свойство Drives

Описание

Возвращает коллекцию, состоящую из интерфейсных объектов Drive для всех

дисков, доступных на локальной машине. Эту коллекцию можно только читать.

Синтаксис

object .Drives

object   – всегда объект класса FileSystemObject

Замечания

Для того, чтобы диски для съемных носителей были включены в коллекцию Drives,

необязательно, чтобы в них присутствовали носители.

Можно последовательно получать доступ ко всем членам коллекции Drives, приме‐

няя конструкцию For Each … Next – примерно так, как показано в нижеприведен‐

ном коде:

Sub ShowDriveList

Dim fs As FileSystemObject, d As Drive, dc As Collection, _

s As String, n As String

Set fs = CreateObject(“Scripting.FileSystemObject”)

Set dc = fs.Drives

For Each d in dc

s = s & d.DriveLetter & ” – ”

If d.DriveType = 3 Then

n = d.ShareName

Else

n = d.VolumeName

End If

      Next

MsgBox s

End Sub

Объект FileSystemObject имеет 26 методов:

Методы объекта FileSystemObject


Метод

Назначение

BuildPath

Создание строки путем слияния аргументов и добавления между ними, если его нет, разделителя “\” (обратной косой черты).

CopyFile

Копирование одного или нескольких файлов из одной папки в другую.

CopyFolder

Копирование содержимого папки со всеми содержащимися в ней папками (подкаталогами) в заданное место.

CreateFolder

Создание новой папки с заданным именем.

CreateTextFile

Создание файла и открытие его в режиме текстового файла последовательного доступа для записи как объекта TextStream

DeleteFile

Удаление одного или нескольких заданных файлов.

DeleteFolder

Удаление одной или нескольких заданных папок вместе со всем их содержимым.

DriveExists

Проверка существования диска с заданным именем на локальной машине или в сети.

FileExists

Проверка существования файла с заданным именем на локальной машине или в сети.

FolderExists

Проверка существования папки с заданным именем на локальной машине или в сети

GetAbsolutePathName

Получение полного имени файла или папки по относительному имени.

GetBaseName

Получение поcледнего компонента – имени папки или файла (без расширения) по его полному или относительному имени.

GetDrive

Получение ссылки на объект Drive, связанный с заданным диском.

GetDriveName

Получение имени диска из имени папки или файла.

GetExtensionName

Получение расширения из заданного имени файла.

GetFile

Получение ссылки на объект File, связанный с заданным файлом.

GetFileName

Получение имени (с расширением) файла из полного имени (пути) файла.

GetFolder

Получение ссылки на объект Folder, связанный с заданной папкой.

GetParentFolderName

Получение имени папки, являющейся предпоследним компонентом полного имени (пути) файла или папки.

GetSpecialFolder

Получение ссылки на объект Folder, связанный с одной из трех специальных папок – папки Windows, системной папки и папки временных файлов.

GetTempName

Получение имени для временного файла.

MoveFile

Перемещение одного или нескольких файлов из одной папки в другую.

MoveFolder

Перемещение содержимого папки со всеми содержащимися в ней папками (подкаталогами) в заданное место.

OpenTextFile

Открытие файла как объекта TextStream для проведения операций чтения/записи в режиме последовательного доступа.

 

Боле подробно методы объекта FileSystemObject рассмотрим в отдельной статье

 

 

Опубликовано в рубрике VBA , Новости Метки: CreateObject("Scripting.FileSystemObject") , Drives , FileSystemObject , FSO , object .Drives , SCRRUN.DLL

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования