Kỹ thuật sao chép - di chuyển - xóa tập tin

Liên hệ QC

ThichExcel

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
11/10/06
Bài viết
68
Được thích
21
Xin diễn đàn cho mình hỏi : Có thể dùng VBA để viết 1 lệnh di chuyển (Cut hay copy) 1 file excel từ thư mục này sang thư mục khác được không.Các bạn hướng dẫn giúp mình với
 
uhm vấn đề này anh dùng thuộc tính file.move ,file.copy hay file.delete . Em thấy anh cũng có kiến thức về lập trình đủ tìm được ví dị nên cũng không làm ví dụ cụ thể. Thân! (Có gì nếu cần em sẽ làm lên sau)
 
Cám ơn skyonline nhiều lắm. Nhưng đã thương thì thương cho chót đi vì kỹ năng VBA của mình vẫn ở dạng thời kỳ cổ đại lắm, giúp mình nhé. Nhưng mình vẫn cố thử tự làm xem sao.
 
hôm nay đi sinh nhật về muộn nên giờ mới trả lời bài viết của anh được. Nếu để đơn giản hơn thì anh sử dụng phương thức filecopy,Name, kill để giải quyết yêu cầu. em làm tạm một file mẫu để thực hiện thì trước tiên anh tạo tập tin movefile.xls cho vào ổ D để xem kết quả. Em làm cho nó thực hiện trên hai ổ C:\ và D:\ . file em đã gửi kèm.
 

File đính kèm

  • di chuyen xoa.xls
    22 KB · Đọc: 309
Quá tuyệt vời ! Cám ơn SKYONLINE rất nhiều!
 
Cho mình hỏi với :
Dựa vào chức năng di chuyển, copy file. Mình thử làm 1 chương trình cài đặt đơn giản ("Thực chất là copy từ đĩa CD hay USB sang 1 ổ của máy tính").Tất hiên file điều khiển ("thực hiện cài đặt") là 1 file excel, và quá trình cài đặt ("Copy các file") cũng thể hiện = 1 thanh diễn tiến.
Liệu giải pháp của mình như vậy có hợp lý không. Nếu còn giải pháp nào hay hơn mong các bạn góp ý.
 
Xóa file trong VBA

Bạn có thể xóa file nào đó từ VBA, bạn sử dụng kill, tham khảo sub sau:

Mã:
Sub Killfile()
    Dim MyFile As String  [COLOR="Green"]'Khai báo file để xoá [/COLOR]
    On Error Resume Next  [COLOR="green"]'Nếu gặp lỗi do file không có chẳng hạn, nó sẽ bỏ qua  [/COLOR]    
    MyFile = "c:\folder\filename.xls"    
    kill MyFile
End Sub
Ngoài ra bạn có thể xóa nhiều file bằng cách chọn như *.xls, *.tmp,... Thật cẩn thận khi dùng phương pháp này khi dọn dẹp ổ cứng hay test :-= .
 
Mình muốn dùng lệnh filecopy để copy từ địa chỉ lan \\lanh\NAM 2007\CVDEN\New Folder\tháng 1.xls sang thư mục hiện hành của máy thì mình viết thế nào. Mình thử chép các file trên máy thì được nhưng chép mạng lan thì không? mong các bạn giúp dùm. Cám ơn
 
Bạn dùng thuộc tính Path của ThisWorkbook


Mã:
Private Sub copyfile()
Dim chuoi As String
chuoi = ThisWorkbook.Path
chuoi = chuoi & "\"
chuoi = chuoi + "Filedadoiten.xls"
On Error resume next
FileCopy "[URL="file://lanh/NAM"]\\lanh\NAM[/URL] 2007\CVDEN\New Folder\tháng 1.xls", chuoi
End Sub

Nhưng em lại có một câu hỏi khác

Như các bác đã biết trong 3 hàm điều quản tập tin ( name, filecopy, kill)
chỉ có thằng kill là chấp nhận các dấu đại diện (VD: *) còn các hàm còn lại thì không

Vậy em muốn copy tất cả các file .xls trong 1 thư mục mà ko biết tên của file nào thì làm thế nào?
 
Bạn có thể xóa file nào đó từ VBA, bạn sử dụng kill, tham khảo sub sau:

Mã:
Sub Killfile()
    Dim MyFile As String  [COLOR=Green]'Khai báo file để xoá [/COLOR]
    On Error Resume Next  [COLOR=green]'Nếu gặp lỗi do file không có chẳng hạn, nó sẽ bỏ qua  [/COLOR]    
    MyFile = "c:\folder\filename.xls"    
    kill MyFile
End Sub
Ngoài ra bạn có thể xóa nhiều file bằng cách chọn như *.xls, *.tmp,... Thật cẩn thận khi dùng phương pháp này khi dọn dẹp ổ cứng hay test :-= .
Code của Thầy tuyệt quá %#^#$ .
Code trên nó xóa file vĩnh viễn luôn, nếu em muốn nó chỉ xóa tạm thời ( file bị xóa vẫn được lưu trong Recycle Bin ) thì có code nào không ạ ?

Em xin cảm ơn !
 
Web KT
Back
Top Bottom