Копирование Файлов целиком с фолдарами

lmdleon
Дата: 20.09.2005 19:03:55
Есть папки:
/ЗАДАЧИ/XLS/
/ЗАДАЧИ/DOC/
/ЗАДАЧИ/MDB/
/ЗАДАЧИ/MDB/ОТДЕЛ1
/ЗАДАЧИ/MDB/ОТДЕЛ2
итд..
В них лежит куча файлов
нужно создать дирикторию Output в которую скопировать выбранное (не важно как) содержимое папки ЗАДАЧИ.
Я создаю папку Output и делаю CopyFile с указанием полного пути.
CopyFile ругается, что нет такой папки...
Как просто создавать ПАПКИ в данном случае?

Или все так сложно? И предется раскладывать путь и создавать все папки???
Oreo
Дата: 20.09.2005 19:26:24
У Аксеса может не быть дружбы с русскими названиями папок.С иностранными названиями все копируется. И про сепараторы не надо забывать.
sraider
Дата: 20.09.2005 21:51:21
lmdleon:
Посмотри CopyFolder

Использовать примерно так:
Dim FSO as Object
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFolder "C:\Откуда\", "C:\Куда\"
lmdleon
Дата: 23.09.2005 11:27:06
да нет...
проблема в том, что папки "Куда" не существует....
lmdleon
Дата: 23.09.2005 11:35:56
Я хочу, чтобы папка сама создавалась... есть ли процедура для такого копирования? (Названия папок не важны)
Ещё раз: Есть папки такого плана .../WORK/XLS/GGG/XXX/FUCKFUCKFUCK/work.xls

Нужно скопировать не только файл но и структуру вложенности папкок. т.е.Ou


.../Output/WORK/XLS/GGG/XXX/FUCKFUCKFUCK/work.xls
Пользователь2
Дата: 23.09.2005 12:48:26
    Dim fso As New FileSystemObject
      
    fso.CreateFolder "D:\Output"
    fso.CopyFolder "D:\WORK", "D:\Output\", True
lmdleon
Дата: 23.09.2005 13:05:45
Может я не догоняю... но я же говорю... мне нужно чтобы получилось вот так:
"D:/Output/WORK/XLS/GGG/XXX/FUCKFUCKFUCK/work.xls"
lmdleon
Дата: 23.09.2005 13:06:36
++ И мне не надо копировать ВСЮ ПАПКУ WORKS !!!! Мне нужны только некоторые файлы...
Владимир Саныч
Дата: 23.09.2005 14:59:08
lmdleon
++ И мне не надо копировать ВСЮ ПАПКУ WORKS !!!! Мне нужны только некоторые файлы...

Вы ищете параметр, который бы говорил Аксессу копировать только некоторые файлы? А указывать, какие именно, не хотите?
lmdleon
Дата: 23.09.2005 16:18:50
Все решил написанием процедуры (не сильно красивая) Думал, что можно проще... видимо плохо объяснил задачу.

Private Sub CreateFullFolder(Path As String)
Dim lenname
Dim flagquit
Set AA = CreateObject("Scripting.FileSystemObject")
flagquit = 0
lenprev = 0
Do

lenname = InStr(1 + lenprev, Path, "\", vbTextCompare)

If lenname = 0 Then
flagquit = 1
Else
If AA.FolderExists(Application.CurrentProject.Path & "\Output\" & Left(Path, lenname)) = False Then
AA.CreateFolder (Application.CurrentProject.Path & "\Output\" & Left(Path, lenname))
End If
lenprev = lenname
End If




Loop Until flagquit = 1

End Sub