Sub CopyFolderAndFiles()
Dim srcFolder As String
Dim destFolder As String
Dim fso As Object
Dim folder As Object
Dim file As Object
' 소스 폴더와 대상 폴더 설정
srcFolder = "C:\abc\"
destFolder = "C:\abb\"
' FileSystemObject 생성
Set fso = CreateObject("Scripting.FileSystemObject")
' 대상 폴더 생성
If Not fso.FolderExists(destFolder) Then
fso.CreateFolder (destFolder)
End If
' 소스 폴더 내 모든 폴더와 파일 복사
Set folder = fso.GetFolder(srcFolder)
CopyFolderRecursive folder, destFolder, fso
End Sub
Sub CopyFolderRecursive(ByVal srcFolder As Object, ByVal destFolder As String, ByVal fso As Object)
Dim subFolder As Object
Dim file As Object
' 폴더 복사
fso.CopyFolder srcFolder.Path, destFolder, True
' 폴더 내 파일 복사
For Each file In srcFolder.Files
On Error Resume Next
fso.CopyFile file.Path, destFolder & "\" & file.Name, True
If Err.Number <> 0 Then
MsgBox "Error copying file: " & file.Name
Err.Clear
End If
Next file
' 하위 폴더 재귀적으로 복사
For Each subFolder In srcFolder.SubFolders
CopyFolderRecursive subFolder, destFolder & "\" & subFolder.Name, fso
Next subFolder
End Sub
카테고리 없음
댓글