Excel. Трюки и эффекты | страница 145
intLen = InStr(strPath, Chr$(0))
' Выделение и возврат пути
dhBrowseForFolder = Left(strPath, intLen – 1)
Else
' Не удалось получить путь
dhBrowseForFolder = ""
End If
Else
' Пользователь нажал кнопку «Отмена» в окне
dhBrowseForFolder = ""
End If
End Function
После написания данного кода в окне выбора макросов станет доступным макрос BrowseFolderl. Результат его выполнения показан на рис. 3.38.
Рис. 3.38. Список файлов суказанием пути
На рисунке видно, что для каждой позиции данного списка указывается полный путь к файлу.
Получение информации о состоянии дисков
При необходимости можно быстро получить и вывести на активном рабочем листе разнообразную информацию о текущем состоянии дисков компьютера. Для этого достаточно воспользоваться макросом, код которого выглядит так (листинг 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. Список с информацией о дисках компьютера
Для каждой позиции списка последовательно указывается буква диска, его «готовность к работе» в данный момент, тип диска, общий объем диска и свободное в настоящее время место на нем.
Очевидно, что содержимое данного списка зависит от конфигурации используемого компьютера.
Расчет среднего арифметического
В данном разделе мы рассмотрим небольшой трюк, с помощью которого можно быстро рассчитать среднее значение ячеек, расположенных над активной ячейкой, с отображением результата в активной ячейке.