Функции и процедуры для работы с каталогами

Для работы с каталогами предназначены следующие функции и процедуры:

Debug.Print CurDir()
' C:\Documents and Settings\unicross\Мои документы
Debug.Print CurDir("C")
' C:\Documents and Settings\unicross\Мои документы
Debug.Print CurDir("D") ' D:\VBA

Функция CurDir() возвращает значение типа Variant (String). Чтобы получить значение типа String следует использовать функцию CurDir$(), имеющую тот же самый формат. Пример:

Debug.Print CurDir$()
' C:\Documents and Settings\unicross\Мои документы
ChDir "D:\VBA"
Debug.Print CurDir$()
' C:\Documents and Settings\unicross\Мои документы
Debug.Print CurDir$("D") ' D:\VBA

Чтобы подняться на один каталог выше следует вместо пути указать две точки:

ChDir ".."
Debug.Print CurDir$()
' C:\Documents and Settings\unicross
ChDrive "C"
Debug.Print CurDir$()
' C:\Documents and Settings\unicross\Мои документы
ChDrive "D"
Debug.Print CurDir$() ' D:\VBA
MkDir ThisWorkbook.Path & "\folder2\"
RmDir ThisWorkbook.Path & "\folder2\"

Функция Dir() возвращает значение типа Variant (String). Чтобы получить значение типа String следует использовать функцию Dir$(), имеющую тот же самый формат. Пример вывода названий всех файлов:

Dim s As String
Debug.Print Dir$(ThisWorkbook.Path & "\")
Do
   s = Dir$()
   Debug.Print s
Loop While s <> ""

Пример вывода названий всех файлов и каталогов:

Dim s As String
Debug.Print Dir$(ThisWorkbook.Path & "\", vbDirectory)
Do
   s = Dir$()
   Debug.Print s
Loop While s <> ""
Предыдущая статья Все статьи Следующая статья