АлексейЕ
Дата: 21.09.2005 11:34:02
Из запасов
Вопрос: Определение наличия папки (альтернатива DIR())
Совет:
АлексейЕ
Guest ?dir ("e:\Temp\123", vbDirectory)
Если папка существует вернет 123, если нет, то vbNullString
==================
Serge Gavrilov
?dir ("e:\Temp\123", vbDirectory)
Только надо следить за переменной передаваемой Dir, т.к. если переменная будет "e:\Temp\123\", то Dir вернет имя дочернег каталога
Я использую PathFileExists
Public Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
А отличить файл или каталог позволяет GetAttr(Path)
==================
АлексейЕ
Способ с API хорош, и работает в случае с окончание со "\" и без оного.
"Dir вернет имя дочернег каталога", ну и пусть, как в поговорке,
"хоть горшком обзови, только в печку не ставь."
Нам достаточно что не vbNullString
P.S. К стати, у меня Win. Server 2003 и возвращает, при окончании на "\" просто точку.
==================
Serge Gavrilov
P.S. К стати, у меня Win. Server 2003 и возвращает, при окончании на "\" просто точку.
Да-да, я неправильно написал, конечно не имя дочернего каталога, тем более, что Help
Вызов функции Dir с атрибутом vbDirectory не приводит к последовательному возврату подкаталогов.
И все равно Dir неудобен. Если переменная будет пуста, то
?dir ("", vbDirectory)
тоже вернет точку
А если к дискете обратишься, которой нет, то будет ошибка.
==================
АлексейЕ
Спасибо Сергей,
учту.
АлексейЕ
Дата: 21.09.2005 13:13:57
Me!Path Это ссылка на объект.
Если вы возьмете ее в кавычки, то получите простой текст, а не ссылку.
В книге или опечатка, или вы что то не так поняли.