VBA Xóa tệp | Làm thế nào để xóa tệp trong thư mục bằng mã VBA?

Trong VBA, chúng ta có thể xóa bất kỳ tệp nào có trong máy tính bằng cách sử dụ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 đó nghĩa là đâu. 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 ra rất nhiều tệp trung gian để hỗ trợ quá trình của chúng tôi. Sau khi tất cả công việc được thực hiện, chúng tôi cần 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 tôi thường nhận được 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 đó chúng tôi có thể cần phải xóa các tệp đó.

Việc xóa các tệp đó theo cách thủ công sẽ rất 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 các tệp trong một thư mục bằng cách sử dụ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 pháp 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 chấm 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í bằng 0 đượ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 là “Tệp 5”. Bắt đầu mã với 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ờ hãy đặ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.

Giết "E: \ Excel Files \ File5.xlsx"

Khi bạn chạy mã này, nó sẽ xóa tệp có tên là “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ã:

Hủy "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 làm thế nào 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 thế nào chúng ta có thể xóa nó. 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 là chúng ta cần xóa tất cả 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 hàm nữa là RmDir .

Mã:

RmDir "E: \ Excel Files \"

Ở đây RmDir sẽ chỉ xóa thư mục trống, nếu có bất kỳ thư mục con nào ở đó thì 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


$config[zx-auto] not found$config[zx-overlay] not found