Đọc file text trong VBA Excel

Ví dụ đọc file text trong VBA Excel

Khi làm phần mềm excel, việc đọc nội dung 1 file text được sử dụng trong code VBA Excel rất nhiều.

  1. Tại sao phải code vba excel cần đọc file text
  2. Ví dụ code đọc file text
  3. Xử lý lỗi đọc file text vba không đọc được unicode

1. Tại sao phải code vba excel cần đọc file text

Ví ngoài việc lưu trữ tại sheet excel thì một số nghiệp vụ dữ liệu khi mở file excel từ file text, ví dụ như file cấu hình, hay thông tin chia sẽ từ mạng LAN/ Internet.

2. Ví dụ đọc file text VBA Excel
    Hãy chuẩn bị 1 file iif.txt với nội dung: dạy lập trình VBA nâng cao.
    Viết đoạn code VBA dưới vào sự kiện click button hay sự kiện open wookbook vba excel
   
     Dim doituong_file As New FileSystemObject
    Set doituong_file = CreateObject("Scripting.FileSystemObject")
    Set FileToRead = doituong_file.OpenTextFile("D:\iif.txt", ForReading)
    MsgBox FileToRead.ReadAll
    FileToRead.Close

 Chạy và xem kết quả VBA đọc file text in ra kết quả gì ?

3. Xử lý lỗi đọc file text vba không đọc được unicode

Các bạn thêm hàm này vào để chuyển đổi

Function UTF8_Decode(ByVal sStr)
    Dim l As Long, sUTF8 As String, iChar As Integer, iChar2 As Integer
    For l = 1 To Len(sStr)
        iChar = Asc(Mid(sStr, l, 1))
        If iChar > 127 Then
            If Not iChar And 32 Then ' 2 chars
            iChar2 = Asc(Mid(sStr, l + 1, 1))
            sUTF8 = sUTF8 & ChrW$(((31 And iChar) * 64 + (63 And iChar2)))
            l = l + 1
        Else
            Dim iChar3 As Integer
            iChar2 = Asc(Mid(sStr, l + 1, 1))
            iChar3 = Asc(Mid(sStr, l + 2, 1))
            sUTF8 = sUTF8 & ChrW$(((iChar And 15) * 16 * 256) + ((iChar2 And 63) * 64) + (iChar3 And 63))
            l = l + 2
        End If
            Else
            sUTF8 = sUTF8 & Chr$(iChar)
        End If
    Next l
    UTF8_Decode = sUTF8
End Function

 

Bài viết liên quan:

Ví dụ đọc file text trong VBA Excel