Объект Drive. Работа с дисками

Объект Drive позволяет выполнять различные манипуляции с дисками. Создать объект позволяет метод GetDrive(<Имя диска>) объекта FileSystemObject. В параметре <Имя диска> указывается название диска (например, "C", "C:" или "C:\") или путь в сетевом окружении. Если указанный диск не найден, то генерируется ошибка. Пример создания объекта:

Dim fso As New FileSystemObject
Dim Диск As Drive
Set Диск = fso.GetDrive("C")
' Работаем с диском

Проверка существования диска

Проверить существование диска с указанным именем позволяет метод DriveExists(<Имя диска>) объекта FileSystemObject. В параметре <Имя диска> указывается название диска (например, "C", "C:" или "C:\"). Метод возвращает значение True, если диск существует и False — в противном случае. Пример:

Dim fso As New FileSystemObject
If fso.DriveExists("C") = True Then
   Debug.Print "Существует"
Else
   Debug.Print "Нет"
End If

Получение информации о диске

Получить информацию о диске позволяют следующие свойства объекта Drive:

Пример получения информации о диске показан в листинге 13.3.

Листинг 13.3. Получение информации о диске

Dim fso As New FileSystemObject
Dim Диск As Drive
Set Диск = fso.GetDrive("C")
Debug.Print Диск.DriveLetter    ' C
Debug.Print Диск.Path           ' C:
Debug.Print Диск.RootFolder     ' C:\
Debug.Print Диск.AvailableSpace ' 104660189184
Debug.Print Диск.FreeSpace      ' 104660189184
Debug.Print Диск.TotalSize      ' 160039239680
Debug.Print Диск.IsReady        ' True
Debug.Print Диск.FileSystem     ' NTFS
Debug.Print Диск.DriveType      ' 2

Семейство Drives

Семейство Drives содержит несколько объектов Drive. Доступ к объекту в коллекции выполняется с помощью метода Item(<Индекс>) или с помощью цикла For Each...Next. Получить количество объектов в коллекции позволяет свойство Count.

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

Dim fso As New FileSystemObject, Item
Dim Диски As Drives
Set Диски = fso.Drives
For Each Item In Диски
   Debug.Print Item.DriveLetter
Next
Предыдущая статья Все статьи Следующая статья