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


คุณสามารถใช้ลูป Do While กับเมธอด Workbooks.Open ใน VBA เพื่อเปิดไฟล์ทั้งหมดในโฟลเดอร์ใดโฟลเดอร์หนึ่งได้

นี่เป็นวิธีทั่วไปในการดำเนินการนี้ในทางปฏิบัติ:

 Sub OpenAllFilesInFolder()

Dim ThisFolder As String
Dim ThisFile As String

'specify folder location and types of files to open in folder
ThisFolder = "C:\Users\bob\Documents\current_data"
ThisFile = Dir(ThisFolder & "\*.xlsx")

'open each xlsx file in folder
Do While ThisFile <> ""
    Workbooks.Open Filename:=ThisFolder & "\" & ThisFile
    ThisFile = Dir
Loop

End Sub

มาโครเฉพาะนี้จะเปิดไฟล์ทั้งหมดที่มีนามสกุล .xlsx ในโฟลเดอร์ต่อไปนี้:

  • C:\Users\bob\Documents\current_data

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แมโครนี้ในทางปฏิบัติ

ที่เกี่ยวข้อง: วิธีรับรายการสมุดงานที่เปิดอยู่ทั้งหมดโดยใช้ VBA

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

สมมติว่าเรามีโฟลเดอร์ต่อไปนี้ชื่อ current_data ซึ่งมีไฟล์ .xlsx สามไฟล์:

สมมติว่าเราต้องการใช้ VBA เพื่อเปิดไฟล์ .xlsx ทั้งหมดในโฟลเดอร์นี้

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

 Sub OpenAllFilesInFolder()

Dim ThisFolder As String
Dim ThisFile As String

'specify folder location and types of files to open in folder
ThisFolder = "C:\Users\bob\Documents\current_data"
ThisFile = Dir(ThisFolder & "\*.xlsx")

'open each xlsx file in folder
Do While ThisFile <> ""
    Workbooks.Open Filename:=ThisFolder & "\" & ThisFile
    ThisFile = Dir
Loop

End Sub

เมื่อเราเรียกใช้แมโครนี้ แต่ละไฟล์ที่มีนามสกุล .xlsx ในโฟลเดอร์จะถูกเปิดทีละไฟล์

โปรดทราบว่าหากไฟล์ใดๆ ในโฟลเดอร์เปิดอยู่แล้ว ไฟล์เหล่านั้นก็จะยังเปิดอยู่

หมายเหตุ : คุณสามารถค้นหาเอกสารฉบับสมบูรณ์สำหรับวิธี Workbooks.Open ใน VBA ได้ที่นี่

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

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

วิธีเปลี่ยนชื่อไฟล์โดยใช้ VBA
วิธีแสดงรายการไฟล์ในโฟลเดอร์โดยใช้ VBA
วิธีตรวจสอบว่ามีไฟล์อยู่โดยใช้ VBA หรือไม่

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

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