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
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
Ví dụ đọc file text trong VBA Excel