VBA ลบไฟล์ | จะลบไฟล์ในโฟลเดอร์โดยใช้รหัส VBA ได้อย่างไร?

ใน VBA เราสามารถลบไฟล์ใด ๆ ที่มีอยู่ในคอมพิวเตอร์โดยใช้รหัส VBA และรหัสที่ใช้ในการลบไฟล์ใด ๆ เรียกว่าคำสั่ง Kill วิธีการลบไฟล์ใด ๆ คืออันดับแรกเราระบุเส้นทางของไฟล์ซึ่งหมายถึงที่ ไฟล์นั้นอยู่ในคอมพิวเตอร์จากนั้นเราใช้คำสั่ง Kill เพื่อลบไฟล์

จะลบไฟล์โดยใช้รหัส VBA ได้อย่างไร?

VBA เป็นสิ่งที่ยากในตอนเริ่มต้น แต่เมื่อคุณใช้เวลากับ VBA มากขึ้นคุณก็จะเริ่มรักมันเหมือนกับฉัน เราสามารถเปิดไฟล์จากโฟลเดอร์อื่นของคอมพิวเตอร์เราสามารถทำงานกับไฟล์เหล่านั้นได้และตอนนี้เราสามารถลบไฟล์ได้เช่นกันโดยใช้การเข้ารหัส VBA ในบทความนี้เราจะแสดงวิธีการลบไฟล์โดยใช้ VBA Code ในโฟลเดอร์เฉพาะ

เมื่อเราทำงานกับโปรเจ็กต์ขนาดใหญ่เรามักจะสร้างไฟล์กลางจำนวนมากเพื่อรองรับกระบวนการของเรา หลังจากทำงานเสร็จแล้วเราจำเป็นต้องลบไฟล์เหล่านั้นเพื่อหลีกเลี่ยงความสับสนในอนาคต

และสถานการณ์หนึ่งคือเมื่อเราได้รับอีเมลโดยปกติแล้วเราจะบันทึกไฟล์แนบสำหรับงานประจำของเราหรือเพียงแค่ต้องการดูรายงานในช่วงเวลานั้นและในภายหลังเราอาจต้องลบไฟล์เหล่านั้น

การลบไฟล์เหล่านั้นด้วยตนเองจะใช้เวลาสักครู่มิฉะนั้นเราอาจลืมบันทึกและมันจะใช้พื้นที่ในคอมพิวเตอร์ของเรา เราจะแสดงวิธีลบไฟล์เหล่านั้นด้วยรหัส VBA ง่ายๆ

ฆ่าวิธีการลบไฟล์ในโฟลเดอร์โดยใช้รหัส VBA

ฟังก์ชัน KILL ง่ายๆจะลบโฟลเดอร์ไฟล์เฉพาะไฟล์ excel ทั้งหมดและอื่น ๆ ดูไวยากรณ์ของวิธีการฆ่าใน VBA วิธีฆ่าไม่สามารถลบไฟล์แบบอ่านอย่างเดียว

ชื่อพา ธ:ชื่อพา ธ คืออะไรนอกจากเส้นทางโฟลเดอร์ในคอมพิวเตอร์เพื่อลบไฟล์

หมายเหตุ:ชื่อพา ธ สามารถรวมอักขระตัวแทนได้เช่นกัน เราสามารถใช้เครื่องหมายดอกจัน (*) และเครื่องหมายคำถาม (?) เป็นอักขระตัวแทนใน excel

เครื่องหมายดอกจัน (*) มีประโยชน์ในการจับคู่สตริงที่มีความยาวเท่าใดก็ได้แม้จะถือว่าเป็นศูนย์

เครื่องหมายคำถาม (?) มีประโยชน์ในการจับคู่อักขระเพียงตัวเดียว

ลบชื่อไฟล์เฉพาะ

ตัวอย่างเช่นฉันมีโฟลเดอร์ดังต่อไปนี้

ในโฟลเดอร์นี้ฉันต้องการลบไฟล์ที่มีชื่อว่า“ ไฟล์ 5” เริ่มต้นรหัสด้วยฟังก์ชัน KILL

รหัส:

 ย่อย Delete_Files () Kill (PathName) End Sub 

คัดลอกและวางเส้นทางโฟลเดอร์

และวางในเครื่องหมายคำพูดคู่

ฆ่า "E: \ Excel Files"

ตอนนี้ใส่เครื่องหมายทับ (\) อีกหนึ่งตัวและป้อนชื่อไฟล์ที่มีนามสกุล

ฆ่า "E: \ Excel Files \ File5.xlsx"

เมื่อคุณเรียกใช้รหัสนี้ระบบจะลบไฟล์ที่มีชื่อว่า“ File 5.xlsx” ในเส้นทางโฟลเดอร์ที่กล่าวถึง

ลบไฟล์ Excel ทั้งหมด

ในการลบไฟล์ excel ทั้งหมดในโฟลเดอร์โดยใช้ VBA เราจำเป็นต้องใช้อักขระตัวแทนกับฟังก์ชัน KILL หลังจากพูดถึงเส้นทางโฟลเดอร์แล้วเราต้องพูดถึงไฟล์เป็น“ * .xl *”

รหัส:

ฆ่า "E: \ Excel Files \ *. xl *"

เมื่อคุณเรียกใช้รหัสนี้สิ่งนี้จะลบไฟล์ excel ทั้งหมดในโฟลเดอร์

เราได้เห็นว่าเราจะลบไฟล์ excel ไฟล์เดียวและไฟล์ excel ทั้งหมดได้อย่างไร แต่ถ้าเราต้องการลบไฟล์ทั้งหมดในโฟลเดอร์เราจะลบมันได้อย่างไร เนื่องจากเราใช้ Excel VBA จึงสามารถลบไฟล์อื่น ๆ ได้หรือไม่?

คำตอบคือใช่ !!! ใช้รหัสด้านล่างเพื่อลบไฟล์ทั้งหมดในโฟลเดอร์

รหัส:

ฆ่า "E: \ Excel Files \ *. *"

ลบโฟลเดอร์ทั้งหมดเท่านั้น

เป็นไปได้ไหมที่จะลบทั้งโฟลเดอร์เอง?

ใช่มันเป็นไปได้

To do this, the first thing we need to do is we need to delete all the files in the folder by using KILL function, and then to delete folder we need to use one more function called RmDir.

Code:

RmDir "E:\Excel Files\"

Here RmDir will delete only the empty folder, if any subfolder is there it cannot delete them.

Delete All the Text Files in the Folder

To delete all the text files in the folder use the below code.

Code:

Kill "E:\Excel Files\*.txt"

Delete Read-Only Files

As I told KILL function cannot delete “Read Only” files in the folder. In such a case scenario we need to use the other two functions “Dir$” & “SetAttr” functions. Below is the example code to delete the read-only files as well.

Code:

 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 

You can download this VBA Delete File Excel Template from here – VBA Delete File Excel Template