วิธีใช้ฟังก์ชัน VBA DIR ใน Excel (7 ตัวอย่างที่ใช้ได้จริง)

  • แบ่งปันสิ่งนี้
Hugh West

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

ดาวน์โหลดแบบฝึกหัด

ดาวน์โหลดแบบฝึกหัดต่อไปนี้ ซึ่งจะช่วยให้คุณเข้าใจเรื่องได้ดีขึ้น

DIR Function.xlsm

รู้เบื้องต้นเกี่ยวกับฟังก์ชัน DIR

บทสรุป:

ฟังก์ชัน VBA DIR ส่งคืนชื่อไฟล์หรือไดเร็กทอรีจากเส้นทางโฟลเดอร์ที่กำหนด โดยทั่วไป จะส่งคืนไฟล์แรก

ไวยากรณ์:

Dir [ (pathname, [ attributes ] ) ]

คำอธิบายอาร์กิวเมนต์:

<16 แอตทริบิวต์
อาร์กิวเมนต์ จำเป็น/ไม่บังคับ คำอธิบาย
PathName ตัวเลือก Path เพื่อเข้าถึงและระบุไฟล์
ไม่บังคับ นิพจน์ค่าคงที่หรือตัวเลข ระบุแอตทริบิวต์ของไฟล์ที่ตรงกัน

มีบางส่วนก่อน-แอตทริบิวต์ที่กำหนดไว้คือ-

ชื่อแอตทริบิวต์ คำอธิบาย
vbNormal ไฟล์ โดยไม่มีแอตทริบิวต์เฉพาะ
vbReadOnly ไฟล์แบบอ่านอย่างเดียวที่ไม่มีแอตทริบิวต์
vbHidden Hidden ไฟล์ที่ไม่มีแอตทริบิวต์
vbSystem ไฟล์ระบบที่ไม่มีแอตทริบิวต์
vbVolume Volume label
vbDirectory ไดเรกทอรีหรือโฟลเดอร์ที่ไม่มีแอตทริบิวต์
vbAlias ชื่อไฟล์ที่ระบุคือนามแฝง<17

7 ตัวอย่างการใช้ฟังก์ชัน VBA DIR ใน Excel

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

1. ค้นหาชื่อไฟล์จากเส้นทาง

ในโฟลเดอร์ของเรา เราสามารถค้นหาไฟล์ที่ต้องการได้โดย ประกาศเส้นทางชื่อไฟล์

หลังจากคัดลอกเส้นทางของไฟล์ คุณต้องเรียกใช้โค้ด

ด้วยเหตุนี้ ให้ไปที่แท็บ นักพัฒนาซอฟต์แวร์ >> เลือก Visual Basic จากนั้นไปที่แท็บ แทรก >> เลือก โมดูล ในกล่องโต้ตอบ ทั่วไป เราเขียนโค้ด

เนื่องจากวาระของเราคือการค้นหา ชื่อไฟล์ จากชื่อพาธ เราจะตั้งค่าชื่อพาธแบบเต็ม (จากรูทไปจนถึงไฟล์) และโค้ดของเราจะเป็น

3106

ภายในโค้ดของเรา เราได้ตั้งชื่อพาธเป็น E:\Exceldemy\Sales_of_January xlsx

รายละเอียดรหัส:

  • เริ่มแรก เราประกาศตัวแปรสตริงชื่อ FN . และเอาต์พุตของฟังก์ชัน Dir ถูกบันทึกในตัวแปรนี้
  • ถัดไป ฟังก์ชัน Dir จะค้นหาชื่อไฟล์และส่งกลับจากเส้นทางที่ให้มา<29
  • จากนั้น MsgBox ตั้งค่าเอาต์พุตผ่านกล่องข้อความ MsgBox ส่งคืนเอาต์พุตโดยใช้กล่องข้อความ
  • จากนั้น รันโค้ดด้วยปุ่ม F5 คีย์

ในที่สุด เราพบไฟล์ชื่อ Sales_of_January.xlsx .

2. ตรวจสอบการมีอยู่ของไดเร็กทอรี

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

9462

รายละเอียดรหัส :

  • เราได้ประกาศตัวแปรสองตัว PN มีชื่อพาธแบบเต็มของไดเร็กทอรีการตรวจสอบของเรา
  • ภายในฟังก์ชัน Dir เราได้ตั้งค่าสองค่า ชื่อพาธ และแอตทริบิวต์ ค่าเป็น vbDirectory ค่าแอตทริบิวต์นี้จะช่วยในการตรวจหาไดเร็กทอรี และผลลัพธ์ของฟังก์ชันนี้จะถูกเก็บไว้ใน ไฟล์ ตัวแปร
  • จากนั้นเราตรวจสอบว่าตัวแปรว่างหรือไม่ หากเราพบว่าไม่มีตัวแปร ให้ประกาศการมีอยู่ของไดเร็กทอรีผ่านกล่องข้อความ มิฉะนั้น การส่งคืนจะไม่มีอยู่

ที่นี่ Exceldemy<21 ไดเรกทอรี มีอยู่ ดังนั้นเราจะพบ “ Exceldemy มีอยู่ ” โดยที่ Exceldemy เป็นชื่อของโฟลเดอร์

3. สร้างโฟลเดอร์ที่ไม่มีอยู่

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

9742

ที่นี่เราได้เขียนคำสั่งเพื่อสร้างไดเร็กทอรีโดยใช้ชื่อพาธจากบล็อก Else ของโค้ดของเรา เรียกใช้ รหัสด้วยปุ่ม F5

สร้างไดเร็กทอรีแล้ว ลองดูที่โฟลเดอร์ไดเร็กทอรี ขณะนี้โฟลเดอร์ Exceldemy_1 ปรากฏบนคอมพิวเตอร์ของคุณแล้ว

การอ่านที่คล้ายกัน:

  • วิธีเรียก Sub ใน VBA ใน Excel (4 ตัวอย่าง)
  • ส่งคืนค่าในฟังก์ชัน VBA (ทั้งค่า Array และ Non-Array)<2
  • ใช้ฟังก์ชัน VBA UCASE ใน Excel (4 ตัวอย่าง)
  • วิธีใช้ฟังก์ชัน TRIM ในVBA ใน Excel (คำจำกัดความ + รหัส VBA)

4. ค้นหาไฟล์แรกจากไดเร็กทอรี

งานหลักของฟังก์ชัน Dir คือ เพื่อค้นหาไฟล์แรกในไดเร็กทอรีที่ให้มา สิ่งที่คุณต้องระบุภายในฟังก์ชันคือชื่อพาธ (ขึ้นอยู่กับไดเร็กทอรีคอนเทนเนอร์) และมันจะส่งคืนไฟล์แรกจากไดเร็กทอรีนั้น

มาค้นหาไฟล์แรกจาก ของเรากัน Exceldemy ไดเร็กทอรี รหัสของเราจะเป็น

5841

คุณสามารถดูรหัสพื้นฐานได้ เราได้ส่งชื่อพาธไปยังฟังก์ชัน Dir ตอนนี้ เรียกใช้ รหัสด้วยปุ่ม F5 คุณจะพบไฟล์แรกในไดเร็กทอรีนี้

5. ค้นหาทั้งหมด ไฟล์จากไดเร็กทอรี

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

3642

ต่อไปนี้เป็นตัวแปรสองตัวสำหรับจัดเก็บชื่อไฟล์เป็น เดียว ( FN ) และเป็นรายการ ( FL ) ลูป Do while วนซ้ำจนไม่มีไฟล์ใดเหลืออยู่ในไดเร็กทอรี โดยใช้ลูปนี้ เราจะพุชชื่อไฟล์ทุกไฟล์ลงในตัวแปร FL

รันโค้ด และคุณจะพบไฟล์ทั้งหมดในไดเร็กทอรี ดังภาพด้านล่าง

6. ค้นหาไฟล์และโฟลเดอร์ทั้งหมดจากไดเร็กทอรี

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

3936

การเปลี่ยนแปลงในโค้ดของเราเป็นเพียงการใช้พารามิเตอร์แอตทริบิวต์ เราใช้ vbDirectory ในฟิลด์นั้น เรียกใช้ โค้ด แล้วคุณจะพบไฟล์และโฟลเดอร์ย่อยทั้งหมดของ Exceldemy_Folder

7 ค้นหาไฟล์ทั้งหมดที่มีประเภทเฉพาะ

โดยใช้ฟังก์ชัน VBA Dir เราสามารถค้นหาไฟล์ประเภทใดก็ได้ ลองสำรวจด้วยตัวอย่าง

เราจะค้นหาไฟล์ .csv จากไดเร็กทอรีของเรา รหัสของเราจะเป็นดังนี้-

9743

เราหวังว่าคุณจะเข้าใจรหัส ซึ่งใช้กลไกที่คล้ายกันในการค้นหาไฟล์ ในชื่อพาธ เราใช้ไวด์การ์ด ( * ) เครื่องหมายดอกจัน (*) นี้แสดงว่าอักขระใด ๆ ที่ไม่เกินจำนวนใด ๆ สามารถเกิดขึ้นได้ สัญลักษณ์ตัวแทนถูกนำมาใช้ในลักษณะที่ชื่อไฟล์สามารถเป็นอะไรก็ได้แต่ต้องเป็นไฟล์ .csv

เมื่อคุณรันโค้ด มันจะส่งคืน csv ไฟล์จากไดเร็กทอรี Exceldemy ของเรา

ส่วนการปฏิบัติ

เราได้จัดให้มีแนวทางปฏิบัติ ส่วนในแต่ละแผ่นด้านขวาสำหรับการปฏิบัติของคุณ โปรดทำด้วยตัวเอง

บทสรุป

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

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง