Hỗ trợ tiếng việt trong macro (4 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

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:phuongXa").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
 
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 ạ
Bạn nên gắn code vào thẻ code. Còn trong VBE. Không thể viết tiếng việt được. Bạn có thể sử dụng cách khác để làm. Chẳng hạn lấy biến từ sheet hoặc dùng Unicode để viết Tiếng Việt nhé
 
Upvote 0
Bạn nên gắn code vào thẻ code. Còn trong VBE. Không thể viết tiếng việt được. Bạn có thể sử dụng cách khác để làm. Chẳng hạn lấy biến từ sheet hoặc dùng Unicode để viết Tiếng Việt nhé
Em muốn đưa thẳng số liệu vào cho nhanh nên lấy trực tiếp anh ạ. có cách nào lấy dữ liệu nhanh k ạ
 
Upvote 0
Em muốn đưa thẳng số liệu vào cho nhanh nên lấy trực tiếp anh ạ. có cách nào lấy dữ liệu nhanh k ạ
Bạn hạn chế viết tắt thôi nhé. Nhanh hay chậm là như nào á? Bạn không có file đính kèm nên không biết sửa như nào
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom