วิธีการลบโฟลเดอร์โดยใช้ vba (พร้อมตัวอย่าง)


คุณสามารถใช้วิธีการต่อไปนี้ใน VBA เพื่อลบโฟลเดอร์:

วิธีที่ 1: ลบไฟล์ทั้งหมดในโฟลเดอร์

 Sub DeleteFolderContents()
    
    On Error Resume Next
    Kill “ C:\Users\bobbi\Desktop\My_Data\*.*On Error GoTo 0

End Sub

มาโครนี้จะลบไฟล์ทั้งหมดในโฟลเดอร์ชื่อ My_Data

วิธีที่ 2: ลบทั้งโฟลเดอร์

 SubDeleteFolder ()
    
    On Error Resume Next
    
    'delete all files in folder
    Kill “ C:\Users\bobbi\Desktop\My_Data\*.*'delete empty folder
    RmDir " C:\Users\bobbi\Desktop\My_Data\ "
    
    On Error GoTo 0

End Sub

มาโครนี้จะลบโฟลเดอร์ My_Data ทั้งหมดเพื่อไม่ให้มีอยู่แล้ว

บรรทัด On Error Resume Next จะบอก VBA ว่าหากมีข้อผิดพลาดเกิดขึ้นและไม่พบโฟลเดอร์ ไม่ควรแสดงข้อความแสดงข้อผิดพลาด

จากนั้นเราใช้ On Error GoTo 0 เพื่อรีเซ็ตข้อความแสดงข้อผิดพลาดเป็นการตั้งค่าเริ่มต้น

หากคุณต้องการแสดงข้อความแสดงข้อผิดพลาดหากไม่พบโฟลเดอร์ เพียงลบสองบรรทัดนี้ออกจากโค้ด

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับโฟลเดอร์ต่อไปนี้ชื่อ My_Data ซึ่งมีไฟล์ Excel สามไฟล์:

ตัวอย่างที่ 1: ลบไฟล์ทั้งหมดในโฟลเดอร์โดยใช้ VBA

สมมติว่าเราต้องการใช้ VBA เพื่อลบไฟล์ทั้งหมดออกจากโฟลเดอร์ชื่อ My_Data

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 Sub DeleteFolderContents()
    
    On Error Resume Next
    Kill “ C:\Users\bobbi\Desktop\My_Data\*.*On Error GoTo 0

End Sub

เมื่อเราเรียกใช้แมโครนี้และเปิดโฟลเดอร์อีกครั้ง เราจะเห็นว่าไฟล์ทั้งหมดถูกลบไปแล้ว:

ตัวอย่างที่ 2: ลบทั้งโฟลเดอร์โดยใช้ VBA

หากคุณต้องการใช้ VBA เพื่อลบโฟลเดอร์ทั้งหมดที่เรียกว่า My_Data เพื่อไม่ให้โฟลเดอร์นั้นอยู่อีกต่อไป คุณสามารถสร้างแมโครต่อไปนี้:

 SubDeleteFolder ()
    
    On Error Resume Next
    
    'delete all files in folder
    Kill “ C:\Users\bobbi\Desktop\My_Data\*.*'delete empty folder
    RmDir " C:\Users\bobbi\Desktop\My_Data\ "
    
    On Error GoTo 0

End Sub

เมื่อเราเรียกใช้แมโครนี้และเปิด File Explorer เราจะเห็นว่าไม่มีโฟลเดอร์ชื่อ My_Data อีกต่อไป:

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:

VBA: วิธีนับจำนวนแผ่นงานในสมุดงาน
VBA: วิธีดึงข้อมูลจากสมุดงานอื่น
VBA: วิธีลบแผ่นงานหากชื่อมีข้อความเฉพาะ

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *