วิธีเปิดสมุดงานด้วยชื่อตัวแปรด้วย Excel VBA

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

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

ดาวน์โหลดสมุดงานแบบฝึกหัด

ดาวน์โหลดสมุดงานแบบฝึกหัดด้านล่าง

เปิดสมุดงานที่มีชื่อตัวแปรโดยใช้ VBA.xlsm

Sample.xlsx

4 ง่าย วิธีเปิดสมุดงานด้วยชื่อตัวแปรโดยใช้ VBA ใน Excel

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

1. การใช้ Workbook.Open Property

การใช้ Workbook คุณสมบัติ .Open เราสามารถเปิดไฟล์โดยระบุไดเร็กทอรีหรือไม่ระบุตำแหน่งก็ได้ เรายังทำให้ไฟล์ที่เปิดเป็นแบบอ่านอย่างเดียวได้ด้วย

1.1 Open Workbook Mentioning File Path

ในวิธีต่อไป เราจะใช้ Workbook.Open Property เพื่อเปิดไฟล์โดยตรงจากไดเร็กทอรีตำแหน่งไฟล์ที่กล่าวถึง ไม่ว่าไฟล์จะอยู่ที่ใดเราก็เปิดไฟล์ได้ซึ่งก็คือ Sub Open_File_with_Add_Property()

⮚ จากนั้นเราจะประกาศตัวแปร File_Path เป็น String type.

5391

⮚ และ ตั้งค่าตัวแปร File_Path เป็นตำแหน่งของไฟล์

7921

⮚ เราประกาศ wb เป็นตัวแปรใน สมุดงาน ประเภท

5955

⮚ จากนั้นสมุดงานจะถูกเพิ่มจากไดเร็กทอรีที่จัดเก็บไว้ในตำแหน่ง File_Path โดยใช้คุณสมบัติ Workbook.Add

2437

⮚ สุดท้าย เราสิ้นสุด ขั้นตอนย่อยของโค้ดนี้

อ่านเพิ่มเติม: [แก้ไขแล้ว!] วิธีการเปิดสมุดงานอ็อบเจกต์ล้มเหลว (วิธีแก้ไข 4 ข้อ)

สรุป

โดยสรุป ปัญหาของวิธีที่เราสามารถเปิดสมุดงานที่มีชื่อตัวแปรโดยใช้ VBA มีคำตอบอยู่ที่นี่ด้วย 4 ตัวอย่างที่แตกต่างกัน วิธีการ VBA Macro ต้องการความรู้ ที่เกี่ยวข้องกับ VBA ก่อนหน้าเพื่อทำความเข้าใจตั้งแต่เริ่มต้น

สำหรับปัญหานี้ สมุดงานที่เปิดใช้งานมาโครพร้อมให้ดาวน์โหลดซึ่งคุณสามารถฝึกฝนได้ วิธีการเหล่านี้

อย่าลังเลที่จะถามคำถามหรือข้อเสนอแนะผ่านส่วนความคิดเห็น ข้อเสนอแนะใด ๆ สำหรับการปรับปรุงของชุมชน Exceldemy จะได้รับการชื่นชมอย่างมาก

ได้อย่างง่ายดาย

ขั้นตอน

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

  • ขั้นแรก ไปที่แท็บ นักพัฒนา แล้วคลิก Visual Basic หากคุณไม่มี คุณต้อง เปิดใช้งานแท็บนักพัฒนาซอฟต์แวร์ หรือคุณสามารถกด ' Alt+F11' เพื่อเปิด Visual Basic Editor

  • จากนั้นจะมีกล่องโต้ตอบใหม่ ในกล่องโต้ตอบนั้น คลิกที่ แทรก > โมดูล .

  • ถัดไป ในหน้าต่างตัวแก้ไข โมดูล ให้พิมพ์โค้ดต่อไปนี้:
6132

  • จากนั้นปิด โมดูล หน้าต่าง
  • หลังจากนั้น ไปที่แท็บ ดู > มาโคร .
  • จากนั้นคลิกที่ ดู มาโคร .

  • หลังจากคลิก ดูมาโคร เลือกมาโครที่คุณสร้างเมื่อกี้ ชื่อที่นี่คือ Open_with_File_Path จากนั้นคลิก เรียกใช้ .

  • หลังจากนั้นไฟล์ ตัวอย่าง จะเปิดขึ้น

🔎 รายละเอียดของรหัส

1611

⮚ อันดับแรก เราระบุชื่อสำหรับรหัสย่อย ซึ่งก็คือ Open_with_File_Path .

1360

⮚ จากนั้น เราใส่ตำแหน่งของไฟล์ใน File_Path variable

8469

⮚จากนั้น เราประกาศตัวแปรของเรา wrkbk ซึ่งเป็นประเภทสมุดงาน

5970

⮚ จากนั้น เราเปิดไฟล์ที่มีชื่อในตัวแปรไดเร็กทอรี File_Path และตั้งค่าไฟล์ เป็น wrkbk ตัวแปร

2932

⮚ สุดท้าย เราจบขั้นตอนย่อยของโค้ดนี้

อ่านเพิ่มเติม: วิธีการ เปิดสมุดงานจากเส้นทางโดยใช้ Excel VBA (4 ตัวอย่าง)

1.2 เปิดสมุดงานโดยไม่กล่าวถึงเส้นทางของไฟล์

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

ขั้นตอน

  • เรามีไฟล์อื่นที่บันทึกไว้ในไดเร็กทอรีเดียวกับที่พาเรนต์ บันทึกไฟล์ Excel แล้ว
  • ชื่อไฟล์คือ 1

  • ก่อนอื่น ให้ไปที่ นักพัฒนาซอฟต์แวร์ แท็บ และคลิกที่ Visual Basic หากคุณไม่มี คุณต้อง เปิดใช้งานแท็บนักพัฒนาซอฟต์แวร์ หรือคุณสามารถกด ' Alt+F11 ' เพื่อเปิด Visual Basic Editor

  • จากนั้นจะมีกล่องโต้ตอบใหม่ ในกล่องโต้ตอบนั้น คลิกที่ แทรก > โมดูล .

  • ถัดไป ในหน้าต่างแก้ไข โมดูล ให้พิมพ์โค้ดต่อไปนี้:
8973

  • จากนั้นปิด โมดูล หน้าต่าง
  • หลังจากนั้น ไปที่แท็บ ดู > มาโคร .
  • จากนั้นคลิกที่ ดูมาโคร .

  • หลังจากคลิกดูมาโคร ให้เลือกมาโครที่คุณสร้างเมื่อกี้ ชื่อที่นี่คือ Open_without_File_Path จากนั้นคลิก Run

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

🔎 รายละเอียดของ รหัส

5522

⮚ อันดับแรก เราระบุชื่อสำหรับขั้นตอนย่อยซึ่งเป็น Sub Open_without_File_Path()

9525

⮚ เราประกาศ wrkbk เป็นตัวแปรในประเภทสมุดงาน

4536

⮚ เราเปิดไฟล์จากไดเร็กทอรีหลักชื่อ 1.xlsx .

3959

⮚ สุดท้าย เราจบขั้นตอนย่อย ของรหัสนี้

1.3 เปิดสมุดงานเป็นแบบอ่านอย่างเดียว

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

ขั้นตอน

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

  • ก่อนอื่น ให้ไปที่ ผู้พัฒนา และคลิกที่ Visual Basic . หากคุณไม่มี คุณต้อง เปิดใช้งานแท็บนักพัฒนาซอฟต์แวร์ หรือคุณสามารถกด ' Alt+F11 ' เพื่อเปิด Visual Basic Editor

  • จากนั้นจะมีหน้าต่างใหม่ กล่องโต้ตอบ ในกล่องโต้ตอบนั้น คลิกที่ แทรก > โมดูล .

  • ถัดไป ในหน้าต่างแก้ไข โมดูล พิมพ์ รหัสต่อไปนี้:
7090
  • จากนั้นปิดหน้าต่าง โมดูล
  • หลังจากนั้น ไปที่แท็บ ดู > มาโคร .
  • จากนั้นคลิกที่ ดูมาโคร .

  • หลังจากคลิกดู มาโคร ให้เลือกมาโครที่คุณสร้างเมื่อกี้นี้ ชื่อที่นี่คือ Open_with_File_Read_Only จากนั้นคลิก เรียกใช้ .

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

🔎 รายละเอียดของรหัส

4654

⮚ ขั้นแรก เราระบุชื่อสำหรับขั้นตอนย่อยซึ่งเป็น Open_with_File_Read_Only()

1753

⮚ เราประกาศ wrkbk เป็นตัวแปรในประเภทสมุดงาน

5399

⮚ จากนั้นไฟล์จะเปิดจากไดเร็กทอรีที่กำหนด และไฟล์จะถูกตั้งค่าเป็น อ่านอย่างเดียว โดยอาร์กิวเมนต์สุดท้าย

5316

⮚ สุดท้าย เราจบการ ขั้นตอนย่อยของรหัสนี้

อ่านเพิ่มเติม: วิธีเปิดสมุดงานเป็นแบบอ่านอย่างเดียวด้วย Excel VBA

2. การใช้กล่องข้อความ

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

ขั้นตอน

  • ขั้นแรก ไปที่แท็บ นักพัฒนา แล้วคลิก Visual Basic หากคุณไม่มี คุณต้อง เปิดใช้งานแท็บนักพัฒนา หรือคุณสามารถกด ' Alt+F11' เพื่อเปิด Visual Basic Editor

  • จากนั้นจะมีกล่องโต้ตอบใหม่ ในกล่องโต้ตอบนั้น คลิกที่ แทรก > โมดูล .

  • ถัดไป ในหน้าต่างตัวแก้ไข โมดูล ให้พิมพ์โค้ดต่อไปนี้:
2836

  • จากนั้นปิด โมดูล หน้าต่าง
  • หลังจากนั้น ไปที่แท็บ ดู > มาโคร .
  • จากนั้นคลิกที่ ดู มาโคร .

  • หลังจากคลิก ดูมาโคร เลือกมาโครที่คุณสร้างเมื่อกี้ ชื่อที่นี่คือ Open_File_with_Messege_Box จากนั้นคลิก เรียกใช้ .

  • จากนั้นเราจะได้กล่องคำเตือน ซึ่งแสดงว่า เปิดไฟล์สำเร็จแล้ว .
  • จากนั้นคลิก ตกลง .

  • จากนั้นเราจะเห็นว่าตอนนี้ไฟล์ เปิด

  • จากนั้นเราลองแก้ไขโค้ดเล็กน้อย
  • เราเปลี่ยนชื่อไฟล์เป็น ตัวอย่าง10 และไม่มีไฟล์ชื่อ Sample10 ในโฟลเดอร์เอกสาร

  • จากนั้นเรา เรียกใช้ โค้ดอีกครั้ง และมีกล่องข้อความแจ้งว่า การเปิดไฟล์ล้มเหลว .
  • คลิก ตกลง หลังจากนี้

🔎 รายละเอียดของรหัส

2431

⮚ ขั้นแรก เราระบุชื่อสำหรับขั้นตอนย่อยซึ่งได้แก่ Open_with_File_Read_Only()

2003

⮚ เราประกาศ wrkbk เป็นตัวแปรใน Workbook type

8275
5578

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

7813

⮚ หากไม่มีไฟล์ชื่อ Sample ในไดเร็กทอรี ข้อความนี้จะถูกส่ง

7922

⮚ สุดท้าย เราจบขั้นตอนย่อยของโค้ดนี้

4373

⮚ สุดท้าย เราจบขั้นตอนย่อยของโค้ดนี้

อ่านเพิ่มเติม: วิธีเปิดสมุดงานและเรียกใช้มาโครโดยใช้ VBA (4 ตัวอย่าง)

3. การใช้กล่องโต้ตอบเพื่อเปิดไฟล์

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

ขั้นตอน

  • ตอนนี้เราจะเปิดไฟล์ โดยใช้กล่องโต้ตอบตัวสำรวจไฟล์
  • ขั้นแรก ไปที่แท็บ นักพัฒนาซอฟต์แวร์ แล้วคลิก Visual Basic หากคุณไม่มี คุณต้อง เปิดใช้งานแท็บนักพัฒนาซอฟต์แวร์ หรือคุณสามารถกด ' Alt+F11' เพื่อเปิด Visual Basic Editor

  • จากนั้นจะมีกล่องโต้ตอบใหม่ ในกล่องโต้ตอบนั้น คลิกที่ แทรก > โมดูล .

  • ถัดไป ในหน้าต่างแก้ไข โมดูล ให้พิมพ์โค้ดต่อไปนี้:
8891
  • จากนั้นปิด โมดูล หน้าต่าง
  • หลังจากนั้น ไปที่แท็บ ดู > มาโคร .
  • จากนั้นคลิกที่ ดูมาโคร .

  • หลังจากคลิก ดูมาโคร เลือกมาโครที่คุณสร้างเมื่อกี้นี้ ชื่อที่นี่คือ Open_File_with_Dialog_Box จากนั้นคลิก เรียกใช้ .

  • จากนั้นหน้าต่างใหม่จะเปิดขึ้น ในกล่องโต้ตอบ file explorer และเลือก ตัวอย่าง แล้วคลิก ตกลง .

  • จากนั้นไฟล์ชื่อ ตัวอย่าง เปิดแล้ว
  • และนี่คือวิธีที่เราเปิดสมุดงานด้วยชื่อตัวแปรโดยใช้ VBA ใน Excel

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

5864

⮚ อันดับแรก เราระบุชื่อสำหรับขั้นตอนย่อยซึ่งก็คือ Sub Open_File_with_Dialog_Box()

2920

⮚ เราประกาศ Dbox เป็นตัวแปรใน FileDialog type

5978

⮚ เราประกาศ File_Path เป็นตัวแปรใน File_Path As String type

6850

⮚ จะมีกล่องโต้ตอบจากบรรทัดแรก บรรทัดถัดไปแสดงชื่อกล่องโต้ตอบและประเภทไฟล์

Dbox.Title จะตั้งชื่อเรื่องของกล่องโต้ตอบ และ FileType ตั้งค่าประเภทไฟล์

1811

Dbox.Filters.Clear จะล้างตัวกรองก่อนหน้านี้ที่ใช้ในกล่องโต้ตอบ

9286

Dbox.Show จะทำให้กล่องโต้ตอบปรากฏบนไฟล์

⮚ บรรทัดนี้จะกำหนดว่าผู้ใช้เลือกมากกว่าหนึ่งไฟล์หรือไม่ หากผู้ใช้เลือกมากกว่าไฟล์เดียว ขั้นตอนทั้งหมดจะหยุดลง

6915

⮚ สุดท้ายนี้ เราจบขั้นตอนย่อยของโค้ดนี้

อ่านเพิ่มเติม: วิธีเปิด โฟลเดอร์และเลือกไฟล์โดยใช้ Excel VBA (4 ตัวอย่าง)

4. การใช้ Workbook.Add Property

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

ขั้นตอน

  • ขั้นแรก ไปที่แท็บ นักพัฒนาซอฟต์แวร์ แล้วคลิก Visual Basic . หากคุณไม่มี คุณต้อง เปิดใช้งานแท็บนักพัฒนาซอฟต์แวร์ หรือคุณสามารถกด ' Alt+F11' เพื่อเปิด Visual Basic Editor

  • จากนั้นจะมีกล่องโต้ตอบใหม่ ในกล่องโต้ตอบนั้น คลิกที่ แทรก > โมดูล .

ถัดไป ในหน้าต่างแก้ไข โมดูล พิมพ์รหัสต่อไปนี้:

4988
  • จากนั้นปิดหน้าต่าง โมดูล
  • หลังจาก ไปที่แท็บ ดู > มาโคร .
  • จากนั้นคลิกที่ ดูมาโคร .

  • หลังจากคลิก ดูมาโคร เลือกมาโครที่คุณสร้างเมื่อกี้ ชื่อที่นี่คือ Open_File_with_Add_Property จากนั้นคลิก เรียกใช้ .

  • หลังจากคลิก เรียกใช้ คุณจะสังเกตเห็นว่าขณะนี้มีไฟล์ใหม่ สร้างและเปิด

🔎 รายละเอียดของรหัส

⮚ อันดับแรก เราจัดเตรียม ชื่อสำหรับขั้นตอนย่อย

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