:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

รบกวนสอบถามการแสดงผลจาก VBA แปลงเป็น xml ไฟล์ แต่ไม่ขึ้นภาษาไทย

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
sutima
Member
Member
Posts: 5
Joined: Wed Feb 09, 2022 10:20 am
Excel Ver: 2016

รบกวนสอบถามการแสดงผลจาก VBA แปลงเป็น xml ไฟล์ แต่ไม่ขึ้นภาษาไทย

#1

Post by sutima »

รบกวนสอบถามการตั้งค่า หรือการเขียนโค้ด VBA ค่ะ เนื่องจากไม่แสดงผลเป็นภาษาไทย
เช่น ลองเปลี่ยนข้อมูลในตารางเป็นคำว่า "ไทย" แต่แสดงผลเป็น "xE4xB7xC2"
Last edited by sutima on Wed Feb 09, 2022 11:23 am, edited 1 time in total.
User avatar
logic
Gold
Gold
Posts: 1511
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

Re: รบกวนสอบถามการแสดงผลจาก VBA แปลงเป็น xml ไฟล์ แต่ไม่ขึ้นภาษาไทย

#2

Post by logic »

สอบถามโค้ด vba ช่วยอ่านกฎข้อ 4, 5 ข้างบนก่อนครับ ⬆
sutima
Member
Member
Posts: 5
Joined: Wed Feb 09, 2022 10:20 am
Excel Ver: 2016

Re: รบกวนสอบถามการแสดงผลจาก VBA แปลงเป็น xml ไฟล์ แต่ไม่ขึ้นภาษาไทย

#3

Post by sutima »

Code: Select all


Option Explicit

Sub ExportXML()
Dim outPATH As String, LR As Long, Rw As Long, fNAME As String, Str As String

outPATH = ThisWorkbook.Path & "\XML\"
On Error Resume Next
MkDir outPATH
On Error GoTo 0

LR = Range("A" & Rows.Count).End(xlUp).Row
For Rw = 2 To LR
    fNAME = Trim(Cells(Rw, "M").Value) & ".xml"
    Str = ""
    Open outPATH & fNAME For Output As 1
        Str = "<?xml version=""1.0"" encoding=""UTF-8""?>" & vbLf
        Str = Str & "<Call xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">" & vbLf
        Str = Str & "  <Data>" & vbLf & "    <set_aud>" & vbLf & "      <connection>" & vbLf
        Str = Str & "        <messagetype>" & Cells(Rw, "A").Value & "</messagetype>" & vbLf
        Str = Str & "        <order>" & Cells(Rw, "B").Value & "</order>" & vbLf
        Str = Str & "        <storage>" & Cells(Rw, "C").Value & "</storage>" & vbLf
        Str = Str & "        <time_stamp>" & Cells(Rw, "D").Value & "</time_stamp>" & vbLf
        Str = Str & "      </connection>" & vbLf & "    </set_aud>" & vbLf
        Str = Str & "    <interaction>" & Cells(Rw, "E").Value & "</interaction>" & vbLf
        Str = Str & "    <dir>" & Cells(Rw, "F").Value & "</dir>" & vbLf
        Str = Str & "    <hold>" & Cells(Rw, "G").Value & "</hold>" & vbLf
        Str = Str & "    <conference>" & Cells(Rw, "H").Value & "</conference>" & vbLf
        Str = Str & "    <duration>" & Format(Cells(Rw, "I").Value, "hh:mm:ss") & "</duration>" & vbLf
        Str = Str & "    <extension>" & Cells(Rw, "J").Value & "</extension>" & vbLf
        Str = Str & "    <offset>" & Cells(Rw, "K").Value & "</offset>" & vbLf
        Str = Str & "    <login>" & Cells(Rw, "L").Value & "</login>" & vbLf
        Str = Str & "    <agent_name>" & Cells(Rw, "M").Value & "</agent_name>" & vbLf
        Str = Str & "    <group_name>" & Cells(Rw, "N").Value & "</group_name>" & vbLf
        Str = Str & "    <ani>" & Cells(Rw, "O").Value & "</ani>" & vbLf
        Str = Str & "    <dnis>" & Cells(Rw, "P").Value & "</dnis>" & vbLf
        Str = Str & "    <ani1>" & Cells(Rw, "Q").Value & "</ani1>" & vbLf
        Str = Str & "  </Data>" & vbLf & "  <Other>" & vbLf
        Str = Str & "    <c02>" & Cells(Rw, "R").Value & "</c02>" & vbLf
        Str = Str & "    <c03>" & Cells(Rw, "S").Value & "</c03>" & vbLf
        Str = Str & "    <c01>" & Cells(Rw, "T").Value & "</c01>" & vbLf
        Str = Str & "    <c04>" & Cells(Rw, "U").Value & "</c04>" & vbLf
        Str = Str & "    <c05>" & Cells(Rw, "V").Value & "</c05>" & vbLf
        Str = Str & "    <c06>" & Cells(Rw, "W").Value & "</c06>" & vbLf
        Str = Str & "    <c07>" & IIf(Cells(Rw, "X") > 0, Cells(Rw, "X").Value, "") & "</c07>" & vbLf
        Str = Str & "    <c08>" & IIf(Cells(Rw, "Y") > 0, Cells(Rw, "Y").Value, "") & "</c08>" & vbLf
        Str = Str & "    <c09>" & IIf(Cells(Rw, "Z") > 0, Cells(Rw, "Z").Value, "") & "</c09>" & vbLf
        Str = Str & "    <c10>" & IIf(Cells(Rw, "AA") > 0, Cells(Rw, "AA").Value, "") & "</c10>" & vbLf
        Str = Str & "    <c11>" & IIf(Cells(Rw, "AB") > 0, Cells(Rw, "AB").Value, "") & "</c11>" & vbLf
        Str = Str & "    <c12>" & IIf(Cells(Rw, "AC") > 0, Cells(Rw, "AC").Value, "") & "</c12>" & vbLf
        Str = Str & "    <c13>" & IIf(Cells(Rw, "AD") > 0, Cells(Rw, "AD").Value, "") & "</c13>" & vbLf
        Str = Str & "    <c14>" & IIf(Cells(Rw, "AE") > 0, Cells(Rw, "AE").Value, "") & "</c14>" & vbLf
        Str = Str & "    <c15>" & IIf(Cells(Rw, "AF") > 0, Cells(Rw, "AF").Value, "") & "</c15>" & vbLf
        Str = Str & "    <c16>" & IIf(Cells(Rw, "AG") > 0, Cells(Rw, "AG").Value, "") & "</c16>" & vbLf
        Str = Str & "  </Other>" & vbLf & "</Call>" & vbLf
        Print #1, Str
    Close #1
Next Rw

End Sub

You do not have the required permissions to view the files attached to this post.
sutima
Member
Member
Posts: 5
Joined: Wed Feb 09, 2022 10:20 am
Excel Ver: 2016

Re: รบกวนสอบถามการแสดงผลจาก VBA แปลงเป็น xml ไฟล์ แต่ไม่ขึ้นภาษาไทย

#4

Post by sutima »

ไม่แน่ใจว่าทำถูกต้องตามกฎแล้วรึยังคะ รบกวนผู้รู้แนะนำการแก้ปัญหาด้วยค่ะ พอดีติดมาหลายวันแล้ว ขอบพระคุณมากเลยนะคะ
sutima
Member
Member
Posts: 5
Joined: Wed Feb 09, 2022 10:20 am
Excel Ver: 2016

Re: รบกวนสอบถามการแสดงผลจาก VBA แปลงเป็น xml ไฟล์ แต่ไม่ขึ้นภาษาไทย

#5

Post by sutima »

ขออนุญาตชี้แจ้งวัตถุประสงค์การสร้าง VBA นะคะ
พอดีต้องการแยกไฟล์ excel แต่ละ row เป็น 1 ไฟล์ xml ค่ะ ลองค้นหาวิธีการตามเว็บต่างๆ เลยไปเจอไฟล์จากเว็บบอร์ดต่างประเทศที่เค้าทำมาให้แล้วเสร็จ แล้วโพสลงในเว็บบอร์ดค่ะ จึงนำมาประยุกต์กับไฟล์ตัวเองค่ะ แต่ติดตรงที่เวลาแสดงผล ไม่ขึ้นเป็นภาษาไทยค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: รบกวนสอบถามการแสดงผลจาก VBA แปลงเป็น xml ไฟล์ แต่ไม่ขึ้นภาษาไทย

#6

Post by snasui »

:D ตัวอย่างการปรับ Code ครับ

Code: Select all

Sub ExportXML()
    Dim outPATH As String, LR As Long, Rw As Long, fNAME As String, Str As String
    Dim xmlDoc As Object
    
    outPATH = ThisWorkbook.Path & "\XML\"
    On Error Resume Next
    MkDir outPATH
    On Error GoTo 0
    
    Set xmlDoc = CreateObject("MSXML2.DOMDocument")
    LR = Range("A" & Rows.Count).End(xlUp).Row
    For Rw = 2 To LR
        fNAME = Trim(Cells(Rw, "M").Value) & ".xml"
        Str = ""
    '    Open outPATH & fNAME For Output As 1
            Str = "<?xml version=""1.0"" encoding=""UTF-8""?>" & vbLf
            Str = Str & "<Call xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">" & vbLf
            Str = Str & "  <Data>" & vbLf & "    <set_aud>" & vbLf & "      <connection>" & vbLf
            Str = Str & "        <messagetype>" & Cells(Rw, "A").Value & "</messagetype>" & vbLf
            Str = Str & "        <order>" & Cells(Rw, "B").Value & "</order>" & vbLf
            Str = Str & "        <storage>" & Cells(Rw, "C").Value & "</storage>" & vbLf
            Str = Str & "        <time_stamp>" & Cells(Rw, "D").Value & "</time_stamp>" & vbLf
            Str = Str & "      </connection>" & vbLf & "    </set_aud>" & vbLf
            Str = Str & "    <interaction>" & Cells(Rw, "E").Value & "</interaction>" & vbLf
            Str = Str & "    <dir>" & Cells(Rw, "F").Value & "</dir>" & vbLf
            Str = Str & "    <hold>" & Cells(Rw, "G").Value & "</hold>" & vbLf
            Str = Str & "    <conference>" & Cells(Rw, "H").Value & "</conference>" & vbLf
            Str = Str & "    <duration>" & Format(Cells(Rw, "I").Value, "hh:mm:ss") & "</duration>" & vbLf
            Str = Str & "    <extension>" & Cells(Rw, "J").Value & "</extension>" & vbLf
            Str = Str & "    <offset>" & Cells(Rw, "K").Value & "</offset>" & vbLf
            Str = Str & "    <login>" & Cells(Rw, "L").Value & "</login>" & vbLf
            Str = Str & "    <agent_name>" & Cells(Rw, "M").Value & "</agent_name>" & vbLf
            Str = Str & "    <group_name>" & Cells(Rw, "N").Value & "</group_name>" & vbLf
            Str = Str & "    <ani>" & Cells(Rw, "O").Value & "</ani>" & vbLf
            Str = Str & "    <dnis>" & Cells(Rw, "P").Value & "</dnis>" & vbLf
            Str = Str & "    <ani1>" & Cells(Rw, "Q").Value & "</ani1>" & vbLf
            Str = Str & "  </Data>" & vbLf & "  <Other>" & vbLf
            Str = Str & "    <c02>" & Cells(Rw, "R").Value & "</c02>" & vbLf
            Str = Str & "    <c03>" & Cells(Rw, "S").Value & "</c03>" & vbLf
            Str = Str & "    <c01>" & Cells(Rw, "T").Value & "</c01>" & vbLf
            Str = Str & "    <c04>" & Cells(Rw, "U").Value & "</c04>" & vbLf
            Str = Str & "    <c05>" & Cells(Rw, "V").Value & "</c05>" & vbLf
            Str = Str & "    <c06>" & Cells(Rw, "W").Value & "</c06>" & vbLf
            Str = Str & "    <c07>" & IIf(Cells(Rw, "X") > 0, Cells(Rw, "X").Value, "") & "</c07>" & vbLf
            Str = Str & "    <c08>" & IIf(Cells(Rw, "Y") > 0, Cells(Rw, "Y").Value, "") & "</c08>" & vbLf
            Str = Str & "    <c09>" & IIf(Cells(Rw, "Z") > 0, Cells(Rw, "Z").Value, "") & "</c09>" & vbLf
            Str = Str & "    <c10>" & IIf(Cells(Rw, "AA") > 0, Cells(Rw, "AA").Value, "") & "</c10>" & vbLf
            Str = Str & "    <c11>" & IIf(Cells(Rw, "AB") > 0, Cells(Rw, "AB").Value, "") & "</c11>" & vbLf
            Str = Str & "    <c12>" & IIf(Cells(Rw, "AC") > 0, Cells(Rw, "AC").Value, "") & "</c12>" & vbLf
            Str = Str & "    <c13>" & IIf(Cells(Rw, "AD") > 0, Cells(Rw, "AD").Value, "") & "</c13>" & vbLf
            Str = Str & "    <c14>" & IIf(Cells(Rw, "AE") > 0, Cells(Rw, "AE").Value, "") & "</c14>" & vbLf
            Str = Str & "    <c15>" & IIf(Cells(Rw, "AF") > 0, Cells(Rw, "AF").Value, "") & "</c15>" & vbLf
            Str = Str & "    <c16>" & IIf(Cells(Rw, "AG") > 0, Cells(Rw, "AG").Value, "") & "</c16>" & vbLf
            Str = Str & "  </Other>" & vbLf & "</Call>" & vbLf
    '        Print #1, Str
    '    Close #1
        With xmlDoc
            .async = False
            .validateOnParse = False
            .resolveExternals = False
        End With
        If Not xmlDoc.LoadXML(Str) Then
            With xmlDoc.parseError
                MsgBox "Error: " & .ErrorCode & vbCrLf & .reason, vbCritical, "Error"
                Exit Sub
            End With
        End If
        xmlDoc.Save outPATH & fNAME
    Next Rw
End Sub
sutima
Member
Member
Posts: 5
Joined: Wed Feb 09, 2022 10:20 am
Excel Ver: 2016

Re: รบกวนสอบถามการแสดงผลจาก VBA แปลงเป็น xml ไฟล์ แต่ไม่ขึ้นภาษาไทย

#7

Post by sutima »

ขอบคุณมากๆเลยค่ะ พยายามหาข้อมูลอยู่เกือบเดือน ขอบคุณมากจริงๆค่ะ
Post Reply