Trong VBA, chúng ta có thể xóa bất kỳ tệp nào có trong máy tính bằng mã VBA và mã được sử dụng để xóa bất kỳ tệp nào được gọi là lệnh Kill, phương pháp để xóa bất kỳ tệp nào là trước tiên, chúng tôi cung cấp đường dẫn của tệp đó có nghĩa là tệp nằm trong máy tính và sau đó chúng ta sử dụng lệnh Kill để xóa tệp.
Làm thế nào để xóa tệp bằng mã VBA?
VBA là một điều khó khăn khi bắt đầu, nhưng khi bạn dành nhiều thời gian hơn cho VBA, bạn sẽ bắt đầu yêu thích nó giống như tôi. Chúng ta có thể mở tệp từ một thư mục khác của máy tính, chúng ta có thể làm việc với chúng và bây giờ chúng ta cũng có thể xóa tệp bằng cách sử dụng mã VBA. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách xóa tệp bằng Mã VBA trong thư mục cụ thể.
Khi chúng tôi làm việc với các dự án lớn, chúng tôi thường tạo rất nhiều tệp trung gian để hỗ trợ quá trình của mình. Sau khi tất cả các công việc được thực hiện, chúng tôi cần phải xóa các tệp đó để tránh bất kỳ loại nhầm lẫn nào trong tương lai.
Và một tình huống là khi chúng ta thường nhận được một email. Chúng tôi lưu các tệp đính kèm cho công việc thường xuyên của mình hoặc chúng tôi chỉ muốn xem báo cáo cho thời điểm đó và sau này chúng tôi có thể cần xóa các tệp đó.
Việc xóa các tệp đó theo cách thủ công sẽ mất thời gian hoặc chúng tôi có thể quên lưu và nó sẽ chiếm dung lượng trên máy tính của chúng tôi. Chúng tôi sẽ hướng dẫn bạn cách xóa các tệp đó bằng mã VBA đơn giản.

Kill Method để xóa tệp trong thư mục bằng mã VBA
Một hàm KILL đơn giản sẽ xóa thư mục, tệp cụ thể, tất cả các tệp excel, v.v. Hãy xem cú pháp của phương thức KILL trong VBA. Phương thức hủy không thể xóa các tệp chỉ đọc.

Tên đường dẫn : tên đường dẫn không là gì ngoài đường dẫn thư mục trong máy tính để xóa các tập tin.
Lưu ý: Tên đường dẫn cũng có thể bao gồm các ký tự đại diện. Chúng ta có thể sử dụng dấu hoa thị (*) và dấu hỏi (?) Làm ký tự đại diện trong excel.
Dấu hoa thị (*) rất hữu ích để khớp với bất kỳ chuỗi nào có độ dài bất kỳ, thậm chí số 0 cũng được coi là.
Dấu hỏi (?) Hữu ích khi chỉ khớp với một ký tự duy nhất.
Xóa tên tệp cụ thể
Ví dụ, tôi có một thư mục như dưới đây.

Trong thư mục này, tôi muốn xóa tệp có tên "Tệp 5". Bắt đầu mã bằng chức năng KILL.
Mã:
Sub Delete_Files () Kill (PathName) End Sub

Sao chép và dán đường dẫn thư mục.

Và Dán trong dấu ngoặc kép.
Hủy "E: Excel Files"

Bây giờ đặt thêm một dấu gạch chéo ngược () và nhập tên tệp có phần mở rộng.
Diệt "E: Excel Files File5.xlsx"

Khi bạn chạy mã này, nó sẽ xóa tệp có tên “Tệp 5.xlsx” trong đường dẫn thư mục được đề cập.
Xóa tất cả các tệp Excel
Để xóa tất cả các tệp excel trong thư mục bằng VBA, chúng ta cần sử dụng các ký tự đại diện với hàm KILL. Sau khi đề cập đến đường dẫn thư mục, chúng ta cần đề cập đến tệp là “* .xl *.”
Mã:
Giết "E: Excel Files *. Xl *"

Khi bạn chạy mã này, điều này sẽ xóa tất cả các tệp excel trong thư mục.
Chúng tôi đã thấy cách chúng tôi có thể xóa một tệp excel duy nhất và tất cả các tệp excel. Nhưng nếu chúng ta muốn xóa tất cả các tệp trong thư mục thì làm sao chúng ta xóa được. Vì chúng tôi đang sử dụng Excel VBA, nó có thể xóa các tệp khác không?
Câu trả lời là Có !!! Sử dụng mã dưới đây để xóa tất cả các tệp trong thư mục.
Mã:
Giết "E: Excel Files *. *"

Chỉ xóa toàn bộ thư mục
Có thể tự xóa toàn bộ thư mục không?
Có, nó là có thể.
Để làm được điều này, việc đầu tiên chúng ta cần xóa hết các tập tin trong thư mục bằng cách sử dụng hàm KILL sau đó để xóa thư mục đó chúng ta cần sử dụng thêm một chức năng nữa là RmDir .
Mã:
RmDir "E: Excel Files "

Ở đây RmDir sẽ chỉ xóa thư mục trống nếu bất kỳ thư mục con nào ở đó nó không thể xóa chúng.
Xóa tất cả các tệp văn bản trong thư mục
Để xóa tất cả các tệp văn bản trong thư mục, hãy sử dụng mã bên dưới.
Mã:
Hủy "E: Excel Files *. Txt"

Xóa tệp chỉ đọc
Như tôi đã nói, chức năng KILL không thể xóa các tệp “Chỉ đọc” trong thư mục. Trong trường hợp như vậy, chúng ta cần sử dụng hai hàm khác là hàm “Dir $” & “SetAttr”. Dưới đây là mã ví dụ để xóa các tệp chỉ đọc.
Mã:
Sub Delete_Files1 () Dim DeleteFile As String DeleteFile = "E: Excel Files " If Len (Dir $ (DeleteFile))> 0 Then SetAttr DeleteFile, vbNormal Kill DeleteFile End If End Sub

Bạn có thể tải xuống Mẫu VBA Xóa Tệp Excel này từ đây - Mẫu VBA Xóa Tệp Excel.