Visual Basic for Applications:
การอ่านไฟล์ข้อความ
วิธีการ:
วิธีที่ง่ายที่สุดในการอ่านไฟล์ข้อความใน VBA คือการใช้คำสั่ง Open
ร่วมกับฟังก์ชัน Input
หรือ Line Input
นี่คือวิธีที่คุณสามารถทำได้:
- เปิดไฟล์เพื่ออ่าน - ขั้นแรก คุณต้องเปิดไฟล์ ตรวจสอบให้แน่ใจว่าเส้นทางไฟล์สามารถเข้าถึงได้โดยแอปพลิเคชัน
Open "C:\example.txt" For Input As #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
- ตัวอย่างผลลัพธ์:
สมมติว่า example.txt
มีเนื้อหาดังนี้:
สวัสดี,
นี่คือไฟล์ข้อความตัวอย่าง
ขอให้สนุกกับการอ่าน!
ผลลัพธ์ใน Immediate Window จะเป็นทั้งหมดข้อความหรือทีละบรรทัดตามวิธีที่คุณเลือก
การทำความเข้าใจลึกซึ้ง
การอ่านไฟล์ข้อความใน VBA ได้เป็นเสาหลักของงานอัตโนมัติในสำนักงานมานานหลายทศวรรษ วิธีการที่แสดงออกมาแม้จะมีประสิทธิผลภายในระบบนิเวศ VBA แต่อาจดูเชยเมื่อเทียบกับปฏิบัติการเขียนโปรแกรมสมัยใหม่ที่มักใช้การประมวลผลระดับสูงหรือไลบรารีสำหรับการดำเนินการกับไฟล์ เช่น Python ใช้ฟังก์ชัน open()
ภายในคำสั่ง with
ซึ่งมอบโครงสร้างไวยากรณ์ที่สะอาดกว่าและความสามารถในการจัดการไฟล์โดยอัตโนมัติ
อย่างไรก็ตาม เมื่อทำงานภายใต้ขอบเขตของสภาพแวดล้อม Microsoft Office, VBA ให้วิธีการที่ตรงไปตรงมาและเฉพาะเจาะจงในการจัดการไฟล์ ซึ่งอาจเป็นสิ่งสำคัญสำหรับแอปพลิเคชันที่ต้องการการทำงานร่วมกันกับผลิตภัณฑ์ Office ความง่ายในการเปิดไฟล์ข้อความ อ่าน และประมวลผลเนื้อหาทีละบรรทัดหรือทั้งหมด โดยไม่ต้องการไลบรารีภายนอกหรือการกำหนดค่าที่ซับซ้อน ทำให้ VBA เป็นเครื่องมือที่มีค่าในชุดเครื่องมือของนักพัฒนา Office
ในขณะที่มีทางเลือกที่ดีกว่าในภาษาการเขียนโปรแกรมสมัยใหม่สำหรับการจัดการไฟล์ได้อย่างมีประสิทธิภาพและใช้โค้ดน้อยลง การเข้าใจและใช้ความสามารถของ VBA ในการอ่านไฟล์ข้อความสามารถเพิ่มผลผลิตและขยายฟังก์ชันการทำงานของแอปพลิเคชันที่ขึ้นอยู่กับ Officeได้อย่างมาก