Функция Dir

Возвращает значение типа String, определяющее имя файла, каталога или папки, которое соответствует указанному шаблону, атрибуту файла либо метке тома диска.

Синтаксис

Dir [ (pathname, [ attributes ] ) ]

Синтаксис функции Dir состоит из следующих элементов.

Часть Описание
pathname Необязательный. Строковое выражение, указывающее имя файла; может включать каталог или папку, а также диск. Если файл, указанный параметром pathname, не найден, возвращается строка нулевой длины ("").
attributes Необязательный. Константа или числовое выражение, определяющее атрибуты файла. Если этот параметр опущен, возвращаются файлы, которые соответствуют параметру pathname, но не имеют атрибутов.

Параметры

Параметры аргументаатрибутов:

Константа Значение Описание
vbNormal 0 (По умолчанию.) Определяет файлы без атрибутов.
vbReadOnly 1 В дополнение к файлам без атрибутов определяет файлы, доступные только для чтения.
vbHidden 2 Определяет скрытые файлы, а также файлы без атрибутов.
vbSystem 4 В дополнение к файлам без атрибутов определяет системные файлы. Недоступно в macOS.
vbVolume 8 Определяет метку тома; если указан какой-либо другой атрибут, параметр vbVolume игнорируется. Недоступно в macOS.
vbDirectory 16 В дополнение к файлам без атрибутов определяет каталоги (папки).
vbAlias 64 Указанное имя файла является псевдонимом. Доступно только в macOS.

Примечание.

Эти константы определены в Visual Basic для приложений и могут использоваться в коде вместо фактических значений.

Примечания

В Microsoft Windows и macOS Dir поддерживает использование подстановочных знаков с несколькими символами (*) и одним символом (?) для указания нескольких файлов.

Так как macOS не поддерживает использование подстановочных знаков, для определения группы файлов используйте тип файла. Чтобы вместо имен файлов указать тип файла, воспользуйтесь функцией MacID. Например, следующий оператор возвращает имя первого текстового файла в текущей папке:

Dir("SomePath", MacID("TEXT"))

Чтобы вывести следующий файл в папке, укажите пустую строку:

Dir()

Если функция MacID используется с функцией Dir в Microsoft Windows, возникает ошибка.

Любое значение атрибута, превышающее 256, считается значением MacID.

Значение pathname необходимо указать при первом вызове функции Dir, иначе произойдет ошибка. Если задаются атрибуты файла, значение pathname также должно быть указано.

Функция Dir возвращает первое имя файла, соответствующее значению pathname. Для получения дополнительных имен файлов, соответствующих значению pathname, вызовите функцию Dir повторно без аргументов. Если других соответствий найдено не будет, функция Dir возвратит пустую строку (""). После возврата строки нулевой длины в последующих вызовах необходимо указывать значение pathname, иначе произойдет ошибка.

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

Совет

Так как имена файлов возвращаются в порядке без учета регистра для Windows и с учетом регистра для macOS, их можно сохранить в массиве и затем отсортировать массив.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.