Xoá 1 file không cố định tên trong vba?

Liên hệ QC

romeonaldo

Thành viên mới
Tham gia
20/8/15
Bài viết
27
Được thích
2
Hi mọi người, mình đang làm việc với các file báo cáo, khi xuất từ hệ thống của công ty ra nó có dạng tên là : BBC_2021_2021_08_1008PM.xlsx, không cố định do thời gian và ngày giờ người làm báo cáo xuất ra.
Mình đang cần 1 đoạn code để tìm đúng đường dẫn file đó, sau đó mình sẽ xoá file này đi, hiện tại thì mình đã lấy được forder chứa file tên là fdemos, mọi người giúp mình với ạ:

Dim filename As String
fdemos = ThisWorkbook.Sheets(1).Cells(5, 3)
filename = fdemos + "\" + "BBC_2021" + "***.xlsx"
Kill (filename)

Cảm ơn m.ng ạ!
 
Lần chỉnh sửa cuối:
Bạn tìm hiểu filesystemobject nhé. Đầu tiên bạn lấy tên các file trong thư mục đó, sau đó check tên file chứa từ BBC ở đầu hay không, nếu chứa thì xoá file đó.
 
Upvote 0
Bạn tham khảo Topic này của anh @Quang_Hải
Trong công cụ File System Object có Phương thức Delete File.
 
Upvote 0
Cái quan trọng trong câu hỏi, cái vướng mắc của thớt là làm sao tìm được file cần xóa theo điều kiện đã nêu, chứ xóa file thì người là dùng "Kill" cũng được rồi mà.

PHP:
Option Explicit

Sub vidu()
    Const strFileName = "BBC_*.xlsx"
'    Const strFileName = "BBC_####_####_##_####PM.xlsx"  ''Nếu cần chính xác như mô tả '
    Dim strFilePath As String, strCmd As String, strFolderPath as String
    strFolderPath  = vba.trim(Sheet1.Range("C5").Value )
    If vba.right$(strFolderPath,1) = Application.PathSeparator Then strFolderPath  = vba.left$(strFolderPath , vba.len(strFolderPath ) -1)
    strFilePath = strFolderPath  & Application.PathSeparator & strFileName
    strCmd = "CMD /C DEL /f /q """ & strFilePath & """"
    VBA.Shell strCmd, vbHide
End Sub
 
Upvote 0
Cái quan trọng trong câu hỏi, cái vướng mắc của thớt là làm sao tìm được file cần xóa theo điều kiện đã nêu, chứ xóa file thì người là dùng "Kill" cũng được rồi mà.
...
Cái quan trọng là thớt chỉ cói ý tưởng thôi. Vì ở GPE thì cứ xin code từ a đến z không tốn một xu (trừ tiền điện). Tội gì chẳng xin tùm lum.
Loại ý tưởng này xài một hai lần rồi chán, bỏ. Lúc nhận ra sang kiến của mình xài không vô nữa thì thớt đâu ngu gì báo cho người viết code biết.

Chú cho bạn nào cần làm việc với một mớ files báo cáo:
Quản lý files là một công việc khong khó những khong có nghĩa là muốn xoá quẹt thì xoá quẹt.
Windows Explorer nó đưa file vào Recycle trong trường hợp lỡ tay hoặc đổi ý. Xoá bằng code là bút sa gà chết.
Để quản ý nhiều files, người ta dùng quy trình quản lý. Thường thì đưa các files không dùng vào một folder, và xoá chúng sau một thời gian (vài ngày, tuần lễ, tháng,...)
 
Upvote 0
Cái quan trọng là thớt chỉ cói ý tưởng thôi. Vì ở GPE thì cứ xin code từ a đến z không tốn một xu (trừ tiền điện). Tội gì chẳng xin tùm lum.
Loại ý tưởng này xài một hai lần rồi chán, bỏ. Lúc nhận ra sang kiến của mình xài không vô nữa thì thớt đâu ngu gì báo cho người viết code biết.

Chú cho bạn nào cần làm việc với một mớ files báo cáo:
Quản lý files là một công việc khong khó những khong có nghĩa là muốn xoá quẹt thì xoá quẹt.
Windows Explorer nó đưa file vào Recycle trong trường hợp lỡ tay hoặc đổi ý. Xoá bằng code là bút sa gà chết.
Để quản ý nhiều files, người ta dùng quy trình quản lý. Thường thì đưa các files không dùng vào một folder, và xoá chúng sau một thời gian (vài ngày, tuần lễ, tháng,...)

Mình ko phải là dân chuyên nghiệp, do công việc hàng ngày phải lặp đi lặp lại 1 số hành động ví dụ như share báo cáo cho nên mình muốn viết vào trong 1 file excel, ngày T đi làm thì chỉ cần bấm 1 nút thì sẽ gửi báo cáo của ngày T-1 cho 1 số forder đã yêu cầu thay vì phải copy cho 3 hoặc 4 đường dẫn. Mình thấy như vậy là hợp lý rồi.
 
Upvote 0
Web KT

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

Back
Top Bottom