Visual Basic for Applications:
Đọc một tệp văn bản

Làm thế nào:

Cách đơn giản nhất để đọc một tệp văn bản trong VBA là sử dụng câu lệnh Open kết hợp với các hàm Input hoặc Line Input. Dưới đây là cách bạn có thể thực hiện:

  1. Mở tệp để đọc - Đầu tiên, bạn cần mở tệp. Đảm bảo đường dẫn tệp có thể truy cập được bởi ứng dụng.
Open "C:\example.txt" For Input As #1
  1. Đọc nội dung tệp - Bạn có thể đọc từng dòng một sử dụng Line Input hoặc đọc toàn bộ tệp sử dụng Input.
  • Đọc từng dòng một:
Dim fileContent As String
While Not EOF(1) ' EOF = End Of File
    Line Input #1, fileContent
    Debug.Print fileContent ' Xuất dòng ra cửa sổ Immediate
Wend
Close #1
  • Đọc toàn bộ tệp cùng một lúc:
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. Mẫu đầu ra:

Giả sử example.txt chứa:

Hello,
Đây là một tệp văn bản mẫu.
Thưởng thức việc đọc!

Đầu ra trong cửa sổ Immediate sẽ là toàn bộ văn bản hoặc từng dòng tùy thuộc vào phương pháp bạn chọn.

Sâu hơn

Việc đọc các tệp văn bản trong VBA đã là một trong những nhiệm vụ tự động hóa văn phòng hàng đầu trong hàng thập kỷ. Các phương pháp được minh họa, mặc dù hiệu quả trong môi trường VBA, có thể có vẻ lỗi thời so với các thực hành lập trình hiện đại thường sử dụng các trừu tượng hoặc thư viện cấp cao hơn cho các thao tác tệp. Ví dụ, Python sử dụng hàm open() trong một câu lệnh with, cung cấp cú pháp sạch sẽ hơn và khả năng xử lý tệp tự động.

Tuy nhiên, khi làm việc trong khuôn khổ môi trường Microsoft Office, VBA cung cấp một phương pháp trực tiếp và gốc để thao tác tệp, có thể rất quan trọng đối với các ứng dụng cần tính tương thích với các sản phẩm Office. Sự đơn giản của việc mở một tệp văn bản, đọc và xử lý nội dung của nó từng dòng một hoặc nguyên vẹn, mà không cần đến thư viện bên ngoài hoặc các cấu hình phức tạp, làm cho VBA trở thành một công cụ giá trị trong bộ công cụ của nhà phát triển Office.

Mặc dù có những lựa chọn tốt hơn trong các ngôn ngữ lập trình hiện đại để xử lý tệp hiệu quả và với ít mã hơn, nhưng việc hiểu và sử dụng khả năng của VBA để đọc các tệp văn bản có thể nâng cao đáng kể năng suất và mở rộng chức năng của các ứng dụng dựa trên Office.