Visual Basic for Applications:
การอ่านไฟล์ข้อความ

วิธีการ:

วิธีที่ง่ายที่สุดในการอ่านไฟล์ข้อความใน VBA คือการใช้คำสั่ง Open ร่วมกับฟังก์ชัน Input หรือ Line Input นี่คือวิธีที่คุณสามารถทำได้:

  1. เปิดไฟล์เพื่ออ่าน - ขั้นแรก คุณต้องเปิดไฟล์ ตรวจสอบให้แน่ใจว่าเส้นทางไฟล์สามารถเข้าถึงได้โดยแอปพลิเคชัน
Open "C:\example.txt" For Input As #1
  1. อ่านเนื้อหาไฟล์ - คุณสามารถอ่านทีละบรรทัดโดยใช้ Line Input หรืออ่านทั้งไฟล์โดยใช้ Input
  • การอ่านทีละบรรทัด:
Dim fileContent As String
While Not EOF(1) ' EOF = End Of File
    Line Input #1, fileContent
    Debug.Print fileContent ' แสดงบรรทัดนั้นออกไปที่ Immediate Window
Wend
Close #1
  • การอ่านทั้งไฟล์ในครั้งเดียว:
Dim fileContent As String
Dim fileSize As Long
fileSize = LOF(1) ' LOF = Length Of File
If fileSize > 0 Then
    fileContent = Input(fileSize, #1)
    Debug.Print fileContent
End If
Close #1
  1. ตัวอย่างผลลัพธ์:

สมมติว่า example.txt มีเนื้อหาดังนี้:

สวัสดี,
นี่คือไฟล์ข้อความตัวอย่าง
ขอให้สนุกกับการอ่าน!

ผลลัพธ์ใน Immediate Window จะเป็นทั้งหมดข้อความหรือทีละบรรทัดตามวิธีที่คุณเลือก

การทำความเข้าใจลึกซึ้ง

การอ่านไฟล์ข้อความใน VBA ได้เป็นเสาหลักของงานอัตโนมัติในสำนักงานมานานหลายทศวรรษ วิธีการที่แสดงออกมาแม้จะมีประสิทธิผลภายในระบบนิเวศ VBA แต่อาจดูเชยเมื่อเทียบกับปฏิบัติการเขียนโปรแกรมสมัยใหม่ที่มักใช้การประมวลผลระดับสูงหรือไลบรารีสำหรับการดำเนินการกับไฟล์ เช่น Python ใช้ฟังก์ชัน open() ภายในคำสั่ง with ซึ่งมอบโครงสร้างไวยากรณ์ที่สะอาดกว่าและความสามารถในการจัดการไฟล์โดยอัตโนมัติ

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

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