Комфорт и автоматизация

Существует ли файл?

Несколько полезных функций для проверки существования файла или папки.

Определение существования файла

 Function FileExists(fname) As Boolean

    On Error Resume Next
    FileExists = Dir(fname) <> vbNullString
    If Err.Number <> 0 Then FileExists = False
    On Error GoTo 0

 End Function

Существует ли папка?

Public Function ExistDir(ByVal dirName As String) As Boolean

    ExistDir = False 'Считаем, что пока что не существует
    On Error GoTo f1 'В случае ошибки покидаем функцию

    'Меньше двух символов в названии папки быть не может!    
    If Len(dirName) < 2 Then GoTo f1 

    'Последний знак \ или / нам не нужен
    If Right(dirName, 1) = "\" Or Right(dirName, 1) = "/" Then 
        dirName = Left(dirName, Len(dirName) - 1) 
    End If

    'Собственно, ответ на интересующий вопрос
    ExistDir = (Dir(dirName, vbDirectory) <> "") 

    'Покидаем функцию без ошибок
f1:
    On Error GoTo 0

End Function

Определение существавания пути

 Function PathExists(pname) As Boolean

   On Error Resume Next
   PathExists = GetAttr(pname) And vbDirectory = vbDirectory

 End Function

А если вопрос о существовании объектов файловой системы решён, то с помощью этого макроса можно по заданному шаблону получить файлы из папки.