2016-05-10 4 views
0

Я только знаю, чтобы написать макрос, чтобы скопировать файл из папки А в папку BExcel макрос, чтобы переместить все вложенные папки в другое место

FileCopy "C:\Documents\Folder A\test.xlsx", "C:\Documents\Folder B\test.xlsx" 

Может кто-нибудь помочь в макрос Excel, чтобы переместить все вложенные папки и файлы в разделе «Папка А» на «Папка B». Спасибо

+0

Просьба провести исследование самостоятельно, используя Google или другие поисковые системы, и вы найдете много помощи. Поскольку вы новичок в SO, я предоставляю код в качестве ответа. – skkakkar

+0

@skkakkar. Спасибо за помощь. Это правда, что, как новичок, я не могу использовать поиск правильно. Я искал googled, но нашел макрос, чтобы переместить всю папку A в папку B, но не файлы и папки в папке A в папку B. Надеюсь, я смогу узнать больше, чтобы найти ответ, который уже существует. С уважением –

ответ

1

PL Попробуйте следующее: сменить папки согласно вашим требованиям.

Sub Copy_Folder() 
'This example copy all files and subfolders from FromPath to ToPath. 
'Note: If ToPath already exist it will overwrite existing files in this folder 
'if ToPath not exist it will be made for you. 
    Dim FSO As Object 
    Dim FromPath As String 
    Dim ToPath As String 

    FromPath = "C:\Process_Contract_Notes" '<< Change 
    ToPath = "C:\Process" '<< Change 


    If Right(FromPath, 1) = "\" Then 
     FromPath = Left(FromPath, Len(FromPath) - 1) 
    End If 

    If Right(ToPath, 1) = "\" Then 
     ToPath = Left(ToPath, Len(ToPath) - 1) 
    End If 

    Set FSO = CreateObject("scripting.filesystemobject") 

    If FSO.FolderExists(FromPath) = False Then 
     MsgBox FromPath & " doesn't exist" 
     Exit Sub 
    End If 

    FSO.CopyFolder Source:=FromPath, Destination:=ToPath 
    MsgBox "You can find the files and subfolders from " & FromPath & " in " & ToPath 

End Sub 
+0

Используйте FSO.MoveFolder для достижения желаемого результата MOVE. – Jochen

+0

@JochenGrahl Вы правы, что согласно требованиям OP это должен быть MoveFolder. У меня было опасение, что ОП, похоже, только что присоединился к SO. В методе перемещения, если каталог Destination или File exists могут возникать, могут возникнуть ошибки. Хотя в методе Copy они также могут возникать для существующего каталога или файлов, но степень серьезности меньше, чем исходный каталог и файлы не повреждены. Если OP уверен и знает об ограничениях этих методов, он может определенно использовать ~ FSO.MoveFolder. Я ценю ваше выделение этого момента. – skkakkar

+0

Большое спасибо skkakkar, он отлично работает, чтобы скопировать все файлы и подпапки под папку A в папку B. Однако, когда я попытался сменить FSO.CopyFolder на FSO.MoveFolder как на Jochen, но он не работает. Я что-то пропустил? –