ntdo.ct.qln
Thành viên mới

- Tham gia
- 3/7/25
- Bài viết
- 2
- Được thích
- 0
Hiện tại em có code khi copy tiếng việt vào VBA nhưng lại lỗi font. Anh/chị giúp em vấn đề này với ạ
Function LoadXML_UTF8(filePath As String) As Object
Dim xmlDoc As Object
Dim stream As Object
Dim xmlContent As String
Set stream = CreateObject("ADODB.Stream")
With stream
.Charset = "utf-8"
.Open
.LoadFromFile filePath
xmlContent = .ReadText
.Close
End With
Set xmlDoc = CreateObject("MSXML2.DOMDocument.6.0")
xmlDoc.async = False
xmlDoc.validateOnParse = False
xmlDoc.LoadXML xmlContent
Set LoadXML_UTF8 = xmlDoc
End Function
Sub ThongTinDeNghiHoan()
Dim xmlDoc As Object, filePath As String, ns As String
filePath = Application.GetOpenFilename("XML Files (*.xml), *.xml", , "Ch?n file XML")
If filePath = "False" Then Exit Sub
Set xmlDoc = LoadXML_UTF8(filePath)
If xmlDoc.ParseError.ErrorCode <> 0 Then
MsgBox "L?i khi d?c XML: " & xmlDoc.ParseError.Reason
Exit Sub
End If
ns = "xmlns:ns='http://kekhaithue.gdt.gov.vn/TKhaiThue'"
xmlDoc.setProperty "SelectionNamespaces", ns
Dim soHoSo As String, ngayHoSo As String, thongTinHoSo As String
Dim mst As String, tenNNT As String
Dim diaChi As String, phuongXa As String, huyen As String, diaChiDayDu As String
Dim tuThang As String, denThang As String, kyKeKhai As String
Dim maGD As String, tenCTK As String, soTK As String, tenNH As String
Dim soDeNghiHoan As String, d As Date
On Error Resume Next
soHoSo = xmlDoc.SelectSingleNode("//ns:so").Text
ngayHoSo = xmlDoc.SelectSingleNode("//ns:ngayLapTKhai").Text
If IsDate(ngayHoSo) Then
d = CDate(ngayHoSo)
thongTinHoSo = soHoSo & " ngày " & Format(d, "dd") & " tháng " & Format(d, "mm") & " nam " & Format(d, "yyyy")
Else
thongTinHoSo = soHoSo
End If
mst = xmlDoc.SelectSingleNode("//ns:mst").Text
tenNNT = xmlDoc.SelectSingleNode("//ns:tenNNT").Text
diaChi = xmlDoc.SelectSingleNode("//ns:dchiNNT").Text
phuongXa = xmlDoc.SelectSingleNode("//ns
huongXa").Text
huyen = xmlDoc.SelectSingleNode("//ns:tenHuyenNNT").Text
diaChiDayDu = diaChi & ", " & phuongXa & ", " & huyen & ", T?nh Ð?ng Nai"
tuThang = xmlDoc.SelectSingleNode("//ns:kyKKhaiTuThang").Text
denThang = xmlDoc.SelectSingleNode("//ns:kyKKhaiDenThang").Text
kyKeKhai = "T? tháng " & tuThang & " d?n tháng " & denThang
maGD = xmlDoc.SelectSingleNode("//ns:maGiaoDich").Text
tenCTK = xmlDoc.SelectSingleNode("//ns:tenChuTaiKhoan").Text
soTK = xmlDoc.SelectSingleNode("//ns:taiKhoanSo").Text
tenNH = xmlDoc.SelectSingleNode("//ns:taiNganHang_ten").Text
soDeNghiHoan = xmlDoc.SelectSingleNode("//ns:CTietTTinDNHT[@id='1']/ns:ct6").Text
On Error GoTo 0
With ActiveSheet
.Range("C35").Value = thongTinHoSo ' S? h? so + Ngày l?p
.Range("C22").Value = mst ' Mã s? thu?
.Range("C49").Value = kyKeKhai ' T? tháng - d?n tháng
.Range("D38").Value = soDeNghiHoan ' S? d? ngh? hoàn
.Range("D40").Value = maGD ' Mã giao d?ch
.Range("C43").Value = tenNH ' Ngân hàng
.Range("D41").Value = soTK ' S? tài kho?n
.Range("C42").Value = tenCTK ' Ch? tài kho?n
End With
MsgBox "Ðã ghi d? li?u thành công!", vbInformation
End Sub
Function LoadXML_UTF8(filePath As String) As Object
Dim xmlDoc As Object
Dim stream As Object
Dim xmlContent As String
Set stream = CreateObject("ADODB.Stream")
With stream
.Charset = "utf-8"
.Open
.LoadFromFile filePath
xmlContent = .ReadText
.Close
End With
Set xmlDoc = CreateObject("MSXML2.DOMDocument.6.0")
xmlDoc.async = False
xmlDoc.validateOnParse = False
xmlDoc.LoadXML xmlContent
Set LoadXML_UTF8 = xmlDoc
End Function
Sub ThongTinDeNghiHoan()
Dim xmlDoc As Object, filePath As String, ns As String
filePath = Application.GetOpenFilename("XML Files (*.xml), *.xml", , "Ch?n file XML")
If filePath = "False" Then Exit Sub
Set xmlDoc = LoadXML_UTF8(filePath)
If xmlDoc.ParseError.ErrorCode <> 0 Then
MsgBox "L?i khi d?c XML: " & xmlDoc.ParseError.Reason
Exit Sub
End If
ns = "xmlns:ns='http://kekhaithue.gdt.gov.vn/TKhaiThue'"
xmlDoc.setProperty "SelectionNamespaces", ns
Dim soHoSo As String, ngayHoSo As String, thongTinHoSo As String
Dim mst As String, tenNNT As String
Dim diaChi As String, phuongXa As String, huyen As String, diaChiDayDu As String
Dim tuThang As String, denThang As String, kyKeKhai As String
Dim maGD As String, tenCTK As String, soTK As String, tenNH As String
Dim soDeNghiHoan As String, d As Date
On Error Resume Next
soHoSo = xmlDoc.SelectSingleNode("//ns:so").Text
ngayHoSo = xmlDoc.SelectSingleNode("//ns:ngayLapTKhai").Text
If IsDate(ngayHoSo) Then
d = CDate(ngayHoSo)
thongTinHoSo = soHoSo & " ngày " & Format(d, "dd") & " tháng " & Format(d, "mm") & " nam " & Format(d, "yyyy")
Else
thongTinHoSo = soHoSo
End If
mst = xmlDoc.SelectSingleNode("//ns:mst").Text
tenNNT = xmlDoc.SelectSingleNode("//ns:tenNNT").Text
diaChi = xmlDoc.SelectSingleNode("//ns:dchiNNT").Text
phuongXa = xmlDoc.SelectSingleNode("//ns

huyen = xmlDoc.SelectSingleNode("//ns:tenHuyenNNT").Text
diaChiDayDu = diaChi & ", " & phuongXa & ", " & huyen & ", T?nh Ð?ng Nai"
tuThang = xmlDoc.SelectSingleNode("//ns:kyKKhaiTuThang").Text
denThang = xmlDoc.SelectSingleNode("//ns:kyKKhaiDenThang").Text
kyKeKhai = "T? tháng " & tuThang & " d?n tháng " & denThang
maGD = xmlDoc.SelectSingleNode("//ns:maGiaoDich").Text
tenCTK = xmlDoc.SelectSingleNode("//ns:tenChuTaiKhoan").Text
soTK = xmlDoc.SelectSingleNode("//ns:taiKhoanSo").Text
tenNH = xmlDoc.SelectSingleNode("//ns:taiNganHang_ten").Text
soDeNghiHoan = xmlDoc.SelectSingleNode("//ns:CTietTTinDNHT[@id='1']/ns:ct6").Text
On Error GoTo 0
With ActiveSheet
.Range("C35").Value = thongTinHoSo ' S? h? so + Ngày l?p
.Range("C22").Value = mst ' Mã s? thu?
.Range("C49").Value = kyKeKhai ' T? tháng - d?n tháng
.Range("D38").Value = soDeNghiHoan ' S? d? ngh? hoàn
.Range("D40").Value = maGD ' Mã giao d?ch
.Range("C43").Value = tenNH ' Ngân hàng
.Range("D41").Value = soTK ' S? tài kho?n
.Range("C42").Value = tenCTK ' Ch? tài kho?n
End With
MsgBox "Ðã ghi d? li?u thành công!", vbInformation
End Sub