Как известно, VBA-функция MkDir может создать только папку в существующем каталоге (папке). Declare Function SHCreateDirectoryEx Lib "shell32" Alias "SHCreateDirectoryExA" _ (ByVal hwnd As Long, ByVal pszPath As String, _ ByVal psa As Any) As Long Sub CreateFolderWithSubfolders(ByVal ПутьСоздаваемойПапки$) ' функция получает в качестве параметра путь к папке ' если такой папки ещё нет - она создаётся ' может создаваться сразу несколько подпапок If Len(Dir(ПутьСоздаваемойПапки$, vbDirectory)) = 0 Then ' если папка отсутствует SHCreateDirectoryEx Application.hwnd, ПутьСоздаваемойПапки$, ByVal 0& ' создаём путь End If End Sub Пример использования функции SHCreateDirectoryEx: Sub ПримерИспользованияCreateFolderWithSubfolders() ' этот макрос создаст на диске C папку "Создаваемая папка", ' в ней - подпапку "Подпапка", а в последней - подпапку 1234 Путь = "C:\Создаваемая папка\Подпапка\1234\" CreateFolderWithSubfolders Путь End Sub
|
|||

Комментарии
спасибо, помогли!
Отлично работает
Добавил код функции SHCreateDirectoryEx в текст статьи.
Где найти SHCreateDirectoryEx? При попытке выполнения указывает "sub or function not defined"
Отправить комментарий