xóa file .xls trong thư mục

Liên hệ QC

thesaintzero

Thành viên hoạt động
Tham gia
16/3/09
Bài viết
158
Được thích
8
Ai có thể xem dùm mình xem cái code này có chạy không? cụ thể là mình muốn đếm trong tất cả các file excel có trong thư mục New folder(2) này và cả thư mục con nữa-------->>>> khi dếm xong nó sẽ xóa mấy cái file này ( không phải xóa folder nha) ----->>>> mà sao nó chỉ xóa những file trong thư mục ngoài mà không xóa trong các thư mục con. Các pro có thể giúp mình hoàn thiện nó được không? mình chưa viết vòng lặp cho nó đếm các file nữa... thanks các pro



Sub Test2()
Dim sPath As String, doom As String
With CreateObject("Shell.Application")
'sPath = "C:\Documents and Settings\Administrator\Desktop\New Folder (2)\"
doom = "C:\Documents and Settings\Administrator\Desktop\New Folder (2)\*.xls"
End With
With Application.FileSearch
sPath = .SearchSubFolders
.NewSearch
.SearchSubFolders = IncludeSubFolder
'.LookIn = sPath
.LookIn = doom
.FileType = msoFileTypeAllFiles
.Filename = "*.xls"
.Execute
MsgBox .FoundFiles.Count
kill doom
End With
End Sub
 
Lần chỉnh sửa cuối:
Bạn thử code sau nhé.

Mã:
Sub XoaFile()
Dim fpath As String, ftype As String, i As Integer
fpath = "C:\Documents and Settings\Administrator\Desktop\New Folder (2)"
ftype = "*.xls"
With Application.FileSearch
    .NewSearch
    .LookIn = fpath
    .SearchSubFolders = True
    .Filename = ftype
    If .Execute() > 0 Then
        For i = 1 To .FoundFiles.Count
            Kill .FoundFiles(i)
        Next i
    End If
End With
End Sub
 
Upvote 0
Ai có thể xem dùm mình xem cái code này có chạy không? cụ thể là mình muốn đếm trong tất cả các file excel có trong thư mục New folder(2) này và cả thư mục con nữa-------->>>> khi dếm xong nó sẽ xóa mấy cái file này ( không phải xóa folder nha) ----->>>> mà sao nó chỉ xóa những file trong thư mục ngoài mà không xóa trong các thư mục con. Các pro có thể giúp mình hoàn thiện nó được không? mình chưa viết vòng lặp cho nó đếm các file nữa... thanks các pro

Dùng code này xem
PHP:
Public lCount As Long
Private Sub DeleteFiles(FolderName As String, Search As String, InSub As Boolean)
  Dim FileItem As Object, SubFolder As Object, fle As String
  On Error GoTo ExitSub
  With CreateObject("Scripting.FileSystemObject")
    With .GetFolder(FolderName)
      For Each FileItem In .Files
        If FileItem.Path Like Search Then
          FileItem.Delete
          lCount = lCount + 1
        End If
      Next FileItem
      If InSub Then
        For Each SubFolder In .subFolders
          DeleteFiles SubFolder.Path, Search, True
        Next SubFolder
      End If
    End With
  End With
ExitSub:
End Sub
Cú pháp: DeleteFiles Thư mục chứa file cần xóa, Loại file, Có tính thư mục con hay không
Áp dụng
Giả sử bạn muốn xóa tất cả các file dạng *.xls trong thư mục D:\Excel\New Folder (2) bao gồm cả thư mục con, ta viết code thực thi như sau
Mã:
Sub Main()
  Dim FolderName As String
  FolderName = "D:\Excel\New Folder (2)"
  lCount = 0
  DeleteFiles[COLOR=#ff0000] [B]FolderName[/B][/COLOR][B], [COLOR=#008000]"*.xls"[/COLOR], [COLOR=#0000cd]True[/COLOR][/B]
  MsgBox "Da xoa " & lCount & " files trong thu muc " & FolderName
End Sub
--------------------
Nói thêm: Đừng dùng Application.FileSearch vì nó sẽ không hoạt động được trên Excel 2007 và các version sau này đâu
 
Upvote 0
cám ơn bác Hai Lúa Miền Tây và ndu96081631 nhen vì đang viết cái code cho nó chạy tìm kiếm dữ liệu và lấy dữ liệu trong tất cả các file gộp lại 1 file sau đó sẽ xóa hết các file tìm kiếm này, vì mình tìm theo mấy cái code xóa file của mấy bác trước mà chỉ xóa được thư mục trong thư mục cha thui, còn thư mục con nó chỉ đếm được thui mà không thèm xóa..... cám ơn 2 bác.
 
Upvote 0
1609387012758.png
Xin nhờ sự giúp đỡ. Không biết lỗi này xử lý sao ạ. Cảm ơn!!!
 
Upvote 0
DeleteFile là một phương thức củia FilesSystemObject
DeleteFiles là sub ở đâu thì tôi không biết.
 
Upvote 0
Bỏ tất cả những cái nào bắt đầu bằng [ và kết thúc bằng ]
DeleteFile là một phương thức củia FilesSystemObject
DeleteFiles là sub ở đâu thì tôi không biết.
Sub DeleteFiles theo bài bên trên của Bác ndu96081631. Vẫn chưa thực hiện được, bác có thể cho file mẫu học hỏi được không. Rất cảm ơn!
 
Upvote 0
Sub DeleteFiles theo bài bên trên của Bác ndu96081631. Vẫn chưa thực hiện được, bác có thể cho file mẫu học hỏi được không. Rất cảm ơn!
DeleteFiles FolderName, "*.xls", True
Dòng lệnh đúng là như thế này,tại trước thẻ tô màu chữ trong code bị lỗi nên nó ra vậy ,đúng thì nó là như thế này
 
Upvote 0
thay đổi lại cái đuôi file xong cho vào đâu đó chạy nó là xong thôi

Lưu ý cẩn thận trước khi dùng
Mã:
@echo off
del /f /s *.tmp
del /f /s *.log
del /f /s *.vbw
del /f /s *.SCC
del /f /s *.xls
del /f /s *.xlb
 

File đính kèm

  • Clean_Up.rar
    139 bytes · Đọc: 19
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom