Print tiếng việt trong VBA

lahala

Yêu THVBA
Mã:
Sub SoBuoiToiDaChinhThuc()

Dim r As Long
With ActiveSheet
For r = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
XMLFileName = ThisWorkbook.Path & "\" & "SOBUOITOIDA" & ".xml"

Open XMLFileName For Output As #1

    Dim i As Integer
      i = 2
       Do While Range("E" & i).Value <> "" And Range("C" & i).Value <> 0
               If Range("E" & i).Value <> "" And Range("C" & i).Value <> 0 Then
        
            Debug.Print StrConv(Range("E" & i).Value, vbFromUnicode)
            Print #1, "<ConstraintTeacherMaxDaysPerWeek>"
            Print #1, "<Weight_Percentage>100</Weight_Percentage>"
            Print #1, "<Teacher_Name>"; Range("B" & i).Value; "</Teacher_Name>"
            Print #1, "<Max_Days_Per_Week>"; Range("H" & i).Value; "</Max_Days_Per_Week>"
            Print #1, "<Active>true</Active>"
            Print #1, "<Comments></Comments>"
            Print #1, "</ConstraintTeacherMaxDaysPerWeek>"
                     
           'Exit For
        End If
       i = i + 1
      Loop


Close #1

Next
    End With
    MsgBox ("Xuat file thanh cong va luu tai" & vbNewLine & XMLFileName)
End Sub
--------------------------------------------
Chỗ thẻ này
Mã:
       Print #1, "<Teacher_Name>"; Range("B" & i).Value; "</Teacher_Name>"
Khi xuất ra file XML nó bị lỗi tiếng việt.
Các bạn nào có thể chỉ mình cách giải quyết với ạ
 

NhanSu

SMod
Thành viên BQT
@lahala bạn cần upload file lên. Lệnh print không dùng được với unicode. Để làm việc với unicode, bạn có thể dùng ADODB.Stream với Charset = "UTF-8" hoặc đơn giản nhất là dùng XMLDomDocument.
 

lahala

Yêu THVBA
@lahala bạn cần upload file lên. Lệnh print không dùng được với unicode. Để làm việc với unicode, bạn có thể dùng ADODB.Stream với Charset = "UTF-8" hoặc đơn giản nhất là dùng XMLDomDocument.
@NhanSu có thể cho mình ví dụ mẫu dc không bạn. Cảm ơn bạn nhiều
 

tuhocvba

Administrator
Thành viên BQT
  • Bạn lưu ý phải sử dụng thẻ Code khi viết code trên forum. Xin xem mục 4 trong .
 
Top