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 หรือไม่