Hỗ trợ tiếng việt trong macro (5 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