|
|
|
| Можно ли проверить из VBA есть ли на диске указанный файл типа PDF. Я из Access просматриваю файлы в формате PDF, название которых генерирую программно,секретарь сканирует документ и сохраняет его с таким названием в определенной папке. Проблема в том, что секретарь не всегда все делает четко. Иесли нет такого файла я хочу дать сообщение, что он отсутствует. | |
|
| |
|
|
|
|
Функция Dir возвращает первое имя файла, имя которого удовлетворяет аргументу путь. Для получения остальных файлов, имена которых удовлетворяют указанному пути, следует повторно вызвать функцию Dir без аргументов. Если файлов, имена которых удовлетворяют указанному пути, не осталось, возвращается пустая строка ("").
В данном примере функция Dir используется для поиска определенных файлов и каталогов.
Dim MyFile, MyPath, MyName
' В Microsoft Windows:
' Возвращает "WIN.INI" (при наличии).
MyFile = Dir("C:\WINDOWS\WIN.INI")
' Возвращает имя файла с указанным расширением. При наличии нескольких
' файлов *.INI возвращается первый найденный файл.
MyFile = Dir("C:\WINDOWS\*.INI")
' Повторно вызывает Dir без аргументов для возврата следующего файла
' с расширением *.INI, находящегося в том же каталоге.
MyFile = Dir
' Возвращает первый файл с расширением *.TXT и атрибутом "скрытый".
MyFile = Dir("*.TXT", vbHidden)
' Возвращает список каталогов на диске C:.
MyPath = "c:\" ' Указывает путь.
MyName = Dir(MyPath, vbDirectory) ' Возвращает первый элемент.
Do While MyName <> "" ' Начинает цикл.
' Игнорирует текущий каталог и каталог предыдущего уровня.
If MyName <> "." And MyName <> ".." Then
' Использует поразрядное сравнение для проверки того,
' является ли MyName каталогом.
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
Debug.Print MyName ' Выводит элемент только в том
End If ' случае, если это каталог.
End If
MyName = Dir ' Возвращает следующий элемент.
Loop
|
| |
|
| |
|
|
|
| Большое спасибо. Сейчас попробую. Думаю, получится. | |
|
| |