vonguyen3745
Thành viên hoạt động
- Tham gia
- 18/7/09
- Bài viết
- 145
- Được thích
- 5
Sub CopyFolderAPI()
Dim lastRow As Long, r As Long, sourceDir As String, destDir As String
On Error Resume Next
lastRow = Range("C1000").End(xlUp).Row
destDir = Range("D1").Value
For r = 2 To lastRow
sourceDir = Range("C" & r).Value
CopyFolder sourceDir, destDir
Next
End Sub
Hay quá, bạn hướng dẫn cụ thể cho mọi người đi.Bạn có thể dùng cmd "move" như sau: move "thumuccancopy" "thumucdich"
Dùng công thức excel tạo các câu lệnh, copy các câu lệnh vào notepad lưu dưới đuôi .bat rồi chạy file đó là được.
có gì đâu, bạn dùng công thức ra kết quả như trong file, rồi copy kết quả đó vào notepad, lưu dưới dạng .bat. rồi click đúp để chạy file bat đó. Mình không đính kèm file bat được.Hay quá, bạn hướng dẫn cụ thể cho mọi người đi.
Cảm ơn bạn.
Bạn thiếu sub "CopyFolder "Mình thấy trên diễn đàn có code của bác nào đó cho copy nhiều file, folder vào 1 folder, nhưng mình không biết sưả ngược lại, bác nào biết sửa giúp mình với.
Mã:Sub CopyFolderAPI() Dim lastRow As Long, r As Long, sourceDir As String, destDir As String On Error Resume Next lastRow = Range("C1000").End(xlUp).Row destDir = Range("D1").Value For r = 2 To lastRow sourceDir = Range("C" & r).Value CopyFolder sourceDir, destDir Next End Sub
Xin cảm ơn bạn nhiều nhé1có gì đâu, bạn dùng công thức ra kết quả như trong file, rồi copy kết quả đó vào notepad, lưu dưới dạng .bat. rồi click đúp để chạy file bat đó. Mình không đính kèm file bat được.
View attachment 262230
Bài đã được tự động gộp:
Bạn thiếu sub "CopyFolder "
Bạn tạo như thế nào? lưu ý khi lưu thì phần loại file mặc định là text, bạn chuyển về all rồi đặt tên .bat nhéMình tạo file bat như bạn hướng dẫn nhưng không được
Đấy là code của tôi (siwtom) trong bài #9 (có tập tin). Đọc thêm bài #13, #17 và #20 để hiểu thêm.Mình thấy trên diễn đàn có code của bác nào đó cho copy nhiều file, folder vào 1 folder, nhưng mình không biết sưả ngược lại, bác nào biết sửa giúp mình với.
Mã:Sub CopyFolderAPI() Dim lastRow As Long, r As Long, sourceDir As String, destDir As String On Error Resume Next lastRow = Range("C1000").End(xlUp).Row destDir = Range("D1").Value For r = 2 To lastRow sourceDir = Range("C" & r).Value CopyFolder sourceDir, destDir Next End Sub
Trong module modCopyMoveDeleteFolder đã có sẵn code dùng DÒNG LỆNH rồi. Nếu bạn muốn dùng dòng lệnh thì lôi ra dùng thôi - bạn sử dụng sub Xcopy thay cho sub CopyFolder. Bạn không phải tự tạo BAT vì rất rách việc (công thức + copy/paste, lưu tập tin bằng tay). Khi thư mục nguồn và đích thay đổi lại phải chỉnh sửa tập tin BAT. Code tự tạo dòng lệnh và chạy dòng lệnh đó - dòng lệnh xcopy.Mình tạo file bat như bạn hướng dẫn nhưng không được
Sub CopyFolderAPI()
Dim lastRow As Long, r As Long, sourceDir As String, destDir As String
On Error Resume Next
lastRow = Sheet1.Cells(Rows.count, "B").End(xlUp).Row
If lastRow < 2 Then Exit Sub
sourceDir = Sheet1.Range("A2").Value
Range("C2:C1000").ClearContents
For r = 2 To lastRow
destDir = Range("B" & r).Value
Xcopy sourceDir, destDir, "*.*"
Range("C" & r).Value = "Done"
Next
End Sub