Xin giúp đỡ code VBA copy các thư mục nhỏ trong 1 thư mục sang thư mục khác

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Huyhoangg

Thành viên mới
Tham gia
14/5/23
Bài viết
2
Được thích
0
Mong mọi người giúp đỡ ạ!
Em muốn tìm code VBA giúp copy các thư mục nhỏ trong 1 thư mục tổng rồi sao chép qua 1 thư mục khác ạ.
 
Giải pháp
Mong mọi người giúp đỡ ạ!
Em muốn tìm code VBA giúp copy các thư mục nhỏ trong 1 thư mục tổng rồi sao chép qua 1 thư mục khác ạ.
1684201897670.png

Sub CopyFolderContents()

Dim SourceFolder As String
Dim DestinationFolder As String

SourceFolder = Range("A1").Value
DestinationFolder = Range("A2").Value

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objSourceFolder = objFSO.GetFolder(SourceFolder)
Set objDestinationFolder = objFSO.GetFolder(DestinationFolder)

For Each objFile In objSourceFolder.Files
objFile.Copy objDestinationFolder & "\" & objFile.Name, True
Next objFile

For Each objSubFolder In objSourceFolder.SubFolders...
Mong mọi người giúp đỡ ạ!
Em muốn tìm code VBA giúp copy các thư mục nhỏ trong 1 thư mục tổng rồi sao chép qua 1 thư mục khác ạ.
Vấn đề là trong thư mục đấy có những file nào hay là copy hết.Mà trong thư mục còn có thư mục nhỏ không.Bạn nói chi tiết ra thì mới biết được chứ.
 
Upvote 0
Mong mọi người giúp đỡ ạ!
Em muốn tìm code VBA giúp copy các thư mục nhỏ trong 1 thư mục tổng rồi sao chép qua 1 thư mục khác ạ.
1684201897670.png

Sub CopyFolderContents()

Dim SourceFolder As String
Dim DestinationFolder As String

SourceFolder = Range("A1").Value
DestinationFolder = Range("A2").Value

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objSourceFolder = objFSO.GetFolder(SourceFolder)
Set objDestinationFolder = objFSO.GetFolder(DestinationFolder)

For Each objFile In objSourceFolder.Files
objFile.Copy objDestinationFolder & "\" & objFile.Name, True
Next objFile

For Each objSubFolder In objSourceFolder.SubFolders
objFSO.CreateFolder objDestinationFolder & "\" & objSubFolder.Name
CopyFolderContentsRecursively objSubFolder.Path, objDestinationFolder & "\" & objSubFolder.Name
Next objSubFolder

MsgBox "Folder contents have been copied successfully!"

End Sub

Sub CopyFolderContentsRecursively(sSourcePath As String, sTargetPath As String)

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objSourceFolder = objFSO.GetFolder(sSourcePath)
Set objTargetFolder = objFSO.GetFolder(sTargetPath)

For Each objFile In objSourceFolder.Files
objFile.Copy objTargetFolder & "\" & objFile.Name, True
Next objFile

For Each objSubFolder In objSourceFolder.SubFolders
objFSO.CreateFolder objTargetFolder & "\" & objSubFolder.Name
CopyFolderContentsRecursively objSubFolder.Path, objTargetFolder & "\" & objSubFolder.Name
Next objSubFolder

End Sub

Thử code trên nhé bạn, link folder cần copy ở ô A1, link folder cần copy qua ở ô A2
 
Upvote 0
Giải pháp
View attachment 290201

Sub CopyFolderContents()

Dim SourceFolder As String
Dim DestinationFolder As String

SourceFolder = Range("A1").Value
DestinationFolder = Range("A2").Value

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objSourceFolder = objFSO.GetFolder(SourceFolder)
Set objDestinationFolder = objFSO.GetFolder(DestinationFolder)

For Each objFile In objSourceFolder.Files
objFile.Copy objDestinationFolder & "\" & objFile.Name, True
Next objFile

For Each objSubFolder In objSourceFolder.SubFolders
objFSO.CreateFolder objDestinationFolder & "\" & objSubFolder.Name
CopyFolderContentsRecursively objSubFolder.Path, objDestinationFolder & "\" & objSubFolder.Name
Next objSubFolder

MsgBox "Folder contents have been copied successfully!"

End Sub

Sub CopyFolderContentsRecursively(sSourcePath As String, sTargetPath As String)

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objSourceFolder = objFSO.GetFolder(sSourcePath)
Set objTargetFolder = objFSO.GetFolder(sTargetPath)

For Each objFile In objSourceFolder.Files
objFile.Copy objTargetFolder & "\" & objFile.Name, True
Next objFile

For Each objSubFolder In objSourceFolder.SubFolders
objFSO.CreateFolder objTargetFolder & "\" & objSubFolder.Name
CopyFolderContentsRecursively objSubFolder.Path, objTargetFolder & "\" & objSubFolder.Name
Next objSubFolder

End Sub

Thử code trên nhé bạn, link folder cần copy ở ô A1, link folder cần copy qua ở ô A2
cảm ơn bạn nha đúng cái mk cần rùi
 
Upvote 0
Web KT
Back
Top Bottom