IBM Lotus Symphony
|
Возвращает имя файла, каталога или всех файлов и каталогов на диске или в каталоге, соответствующих указанному пути поиска.
Dir [(текст As String) [, атрибут As Integer]]
String
текст — произвольное строковое выражение, обозначающее путь поиска, имя каталога или файла. Этот параметр можно указывать только при первом вызове функции Dir. Также для пути поддерживается формат URL.
атрибут — произвольное целочисленное выражение, представляющее атрибуты каталога в виде битовых флагов. Функция Dir возвращает только файлы и каталоги, с указанными атрибутами. Можно указывать сразу несколько атрибутов, объединяя следующие значения:
0 — обычный файл;
16 — только имя каталога;
Этот атрибут используется для проверки существования файла (каталога) или для получения списка всех файлов и каталогов указанного каталога.
Для проверки существования файла необходимо ввести полное имя файла (включая путь к нему). Если файл или каталог не существует, функция Dir возвращает пустую строку ("").
Для получения списка всех файлов в определенном каталоге: при первом вызове функции Dir укажите полный путь поиска для файлов, например "D:\Files\*.sxw". Если путь правильный и найдено не менее одного файла, функция Dir возвращает имя первого найденного файла. Для получения имени следующего найденного файла функцию Dir следует вызвать еще раз, уже без параметров.
Для получения только каталогов необходимо указать в параметрах функции соответствующий атрибут. То же самое требуется для получения имени тома (например, раздела жесткого диска).
Sub ExampleDir
REM Вывод всех файлов и каталогов
Dim sPath As String
Dim sDir as String, sValue as String
sDir="Directories:"
sPath = CurDir
sValue = Dir$(sPath + getPathSeparator + "*",16)
Do
If sValue <> "." and sValue <> ".." Then
if (GetAttr( sPath + getPathSeparator + sValue) AND 16) >0 then
REM получение каталогов
sDir = sDir & chr(13) & sValue
End If
End If
sValue = Dir$
Loop Until sValue = ""
MsgBox sDir,0,sPath
End sub