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

При необходимости можно быстро получить и вывести на активном рабочем листе разнообразную информацию о текущем состоянии дисков компьютера. Для этого достаточно воспользоваться макросом, код которого выглядит так (листинг 3.99).

Листинг 3.99. Просмотр информации о дисках компьютера

Sub DrivesInfo()

Dim objFileSysObject As Object ' Объект для работы _

с файловой системой

Dim objDrive As Object ' Анализируемый диск

Dim intRow As Integer ' Заполняемая строка листа

' Создание объекта для работы с файловой системой

Set objFileSysObject = CreateObject(«Scripting.FileSystemObject»)

' Очистка листа

Cells.Clear

' Запись с первой строки

intRow = 1

' Запись на лист информации о дисках компьютера

On Error Resume Next

For Each objDrive In objFileSysObject.Drives

' Буква диска

Cells(intRow, 1) = objDrive.DriveLetter

' Готовность

Cells(intRow, 2) = objDrive.IsReady

' Тип диска

Select Case objDrive.DriveType

Case 0

Cells(intRow, 3) = «Неизвестно»

Case 1

Cells(intRow, 3) = «Съемный»

Case 2

Cells(intRow, 3) = «Жесткий»

Case 3

Cells(intRow, 3) = «Сетевой»

Case 4

Cells(intRow, 3) = «CD-ROM»

Case 5

Cells(intRow, 3) = «RAM»

End Select

' Метка диска

Cells(intRow, 4) = objDrive.VolumeName

' Общий размер

Cells(intRow, 5) = objDrive.TotalSize

' Свободное место

Cells(intRow, 6) = objDrive.AvailableSpace

intRow = intRow + 1

Next

End Sub

После написания кода в окне выбора макросов появится макрос Driveslnf о. В результате его выполнения на текущем рабочем листе будет сформирован список, пример которого показан на рис. 3.39.

Рис. 3.39. Список с информацией о дисках компьютера

Для каждой позиции списка последовательно указывается буква диска, его «готовность к работе» в данный момент, тип диска, общий объем диска и свободное в настоящее время место на нем.

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