Vba проверка наличия файла в папке

Описание функции

Формула =ФАЙЛСУЩ(ПУТЬ) определяет имеется ли файл по заданному пути или нет. Если файл существует и доступен, то формула вернет значение ИСТИНА, если нет — ЛОЖЬ. Функция имеет только один аргумент:

  • ПУТЬ — полный путь к файлу, существование которого необходимо проверить

Пример

Пример проверки наличия файла по заданному пути

Функция поиска файлов (vba check file)

Все больше замечаю, что многие люди в VBA пользуются конструкцией On Error для проверки ошибок, в частности с оператором GoTo. Я очень не люблю данный оператор, т.к. он затрудняет чтение кода и отладку, да и прыжки в программе не благодарное дело… Поэтому я расскажу, как проверить существование файла (vba check file) более цивилизованными методами.

Функция Dir$( , ) — где в качестве первого параметра передаем путь директории или файла, а второго — параметры поиска файлов.

пример

файлы:

Чтобы определить, существует ли файл, просто передайте имя файла функции Dir$ и проверьте, возвращает ли он результат. Обратите внимание, что Dir$ поддерживает wild-cards, поэтому для проверки определенного файла переданное имя pathName должно быть проверено, чтобы убедиться, что оно не содержит их. В приведенном ниже примере возникает ошибка — если это не желаемое поведение, функцию можно изменить, чтобы просто вернуть False .

Папки (метод Dir $):

Функция Dir$() также может использоваться, чтобы определить, существует ли папка, указывая передачу vbDirectory для параметра необязательных attributes . В этом случае переданное значение pathName должно заканчиваться разделителем пути ( ), поскольку совпадающие имена файлов будут вызывать ложные срабатывания. Имейте в виду, что wild-cards разрешены только после последнего разделителя путей, поэтому приведенная ниже функция примера будет вызывать ошибку времени выполнения 52 — «Плохое имя или номер файла», если вход содержит wild-card. Если это не является желаемым поведением, раскомментируйте On Error Resume Next в верхней части функции. Также помните, что Dir$ поддерживает относительные пути к файлу (то есть ..FooBar ), поэтому результаты гарантируются только в том случае, если текущий рабочий каталог не изменяется.

Читайте также:  Intel core i5 2415m

Папки (метод ChDir):

Оператор ChDir также может использоваться для проверки наличия папки. Обратите внимание, что этот метод временно изменит среду, в которой работает VBA, поэтому, если это необходимо, вместо этого следует использовать метод Dir$ . У этого есть преимущество, заключающееся в том, что он намного менее прощает свой параметр. Этот метод также поддерживает относительные пути к файлам, поэтому имеет ту же оговорку, что и метод Dir$ .

Rate this post

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *