Как узнать, существует ли файл или папка?
И снова мы обходимся без АПИ, потому что в ВБ есть замечательная, наверное, самая важная функция для работы с файлами и папками - функция DIR:
DIR [путь], [атрибуты]
Все элементарно - вы задаете функции DIR путь к файлу, а она возвращает этот путь, если файл или папка существует, или возвращает пустую строку, если нет такого имени:
Но здесь есть свои нюансы, которые скрываются в аргументе [атрибуты].
Если его не указывать, программа будет проверять наличие только файлов без аттрибутов «скрытый» и «системный».
Давайте разберемся в его константах:
- vbNormal - Если аргумент не указан, функция ставит эту константу
- vbHidden - Скрытый файл
- vbSystem - Системный файл
- vbArchive - Архивный файл
- vbReadOnly - Файл с атрибутом «только чтение»
- vbDirectory - Обычная папка без атрибутов
А что, если файл и скрытый, и системный? Или мы имеем дело со скрытой папкой?
Надо комбинировать константы, например:
И, напоследок, случай. Что, если мы не знаем точно, скрытый ли это файл или системный? Нам поможет «Or»:
У функции Dir также есть масса интересных возможностей:
Dir("C:\Windows\System32", vbDirectory) ' Проверит существование System32 в каталоге Windows.
Dir("C:\Windows\System32\", vbDirectory) ' Вернет путь к первой папке (по алфавиту) в каталоге System32
Оригинальная статья Влада Рубцова. https://vladikcomper.scanf.su/