: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
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

การแปลง html ใน excel

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
janpranot
Member
Member
Posts: 23
Joined: Wed Jul 13, 2011 9:21 pm

การแปลง html ใน excel

#1

Post by janpranot »

สวัสดีครับ
รบกวนช่วยเหลือเรื่องการแปลง html ใน excel หน่อยครับ

รายละเอียดดังนี้

column B เป็น code html ซึ่งจะทำการแปลงเป็น font ธรรมดาตาม code html ซึ่งสามารถทำได้แล้วครับ โดย code ที่แปลงได้จะทับที่ cells เดิมเลยครับ

แต่กรณีมีหลายๆ cells ใน column B ยังไม่สามารถดำเนินการได้ รบกวนชี้แนะให้หน่อยครับ

code อยู่ใน Module1 ครับ

ผมได้แนบไฟล์มาด้วยครับ
ขอบคุณครับผม
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การแปลง html ใน excel

#2

Post by snasui »

:D อ่านแล้วยังไม่เคลียร์ครับ ช่วยทำตัวอย่างคำตอบที่ต้องการมาด้วยเพื่อจะได้เข้าใจตรงกันครับ
janpranot
Member
Member
Posts: 23
Joined: Wed Jul 13, 2011 9:21 pm

Re: การแปลง html ใน excel

#3

Post by janpranot »

ครับผม

คือใน excel จะมี column a และ b

column b จะเป็น code html ซึ่งผมได้เขียน vba ตอน workbook_open ให้ทำการเปลี่ยนจาก code html ดังนี้ครับ

<font color = "red">test<font/> เป็น test

แต่ถ้าผมต้องการทำทั้ง colum b ต้องทำยังไงครับ เขียนสูตรไม่ถูกนะครับ

ผมได้แนบไฟล์ตัวอย่างที่ run ได้ cells เดียวมาให้ดูครับ

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การแปลง html ใน excel

#4

Post by snasui »

:D ลองเปลี่ยน Procedure test เป็นตามด้านล่างครับ

Code: Select all

Sub test()
    Dim r As Range
    Dim rAll As Range
    With Sheets(1)
        Set rAll = .Range("b2", .Range("b" & Rows.Count).End(xlUp))
    End With
    For Each r In rAll
        r = Replace(Right(r, Len(r) - InStr(2, r, ">")), "<font/>", "")
    Next r
End Sub
janpranot
Member
Member
Posts: 23
Joined: Wed Jul 13, 2011 9:21 pm

Re: การแปลง html ใน excel

#5

Post by janpranot »

ขออธิบายใหม่นะครับ ผม

คือที่ ต้องการให้โปรแกรมทำงานคือ อยากให้ทุกๆ cell ใน column B ที่มีข้อมูล ผ่าน Process Public Function StripHTML นี้นะครับ

เพราะเมื่อแต่ละ cells ผ่าน Public Function StripHTML นี้จะได้ข้อความตาม code html นะครับ

เช่น ตัวสีแดง ตัวหนา ตัวเอียง เป็นต้นนะครับ

ซึ่ง เมื่อผ่าน Public Function StripHTML แล้วข้อมูลที่ได้จาก Process นี้จะไปแทนที่ cells น้ันๆนะครับ


ขอบคุณและขอโทษด้วยครับที่อธิบายไม่กระจ่างชัด
:cry:
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การแปลง html ใน excel

#6

Post by snasui »

:D ลองปรับ Code เป็นตามด้านล่างครับ

Code: Select all

Dim d As Double

Sub test()
    Dim dbl As Double
    dbl = Range("b" & Rows.Count).End(xlUp).Row
    For d = 2 To dbl
        Cells(d, 2).Select
        StripHTML (Cells(d, 2))
    Next d
End Sub


Public Function StripHTML(sInput As String) As String

    Dim rTemp As Range
    Dim oData As DataObject

    Set oData = New DataObject
    oData.SetText "<html><style>br{mso-data-placement:same-cell;}</style>" & sInput & "</html>"
    oData.PutInClipboard
 
    Set rTemp = Cells(d, 2)
    rTemp.Parent.PasteSpecial "Unicode Text"
    StripHTML = rTemp.Text
 
    Set rTemp = Nothing
    Set oData = Nothing

End Function
janpranot
Member
Member
Posts: 23
Joined: Wed Jul 13, 2011 9:21 pm

Re: การแปลง html ใน excel

#7

Post by janpranot »

ขอบคุณมากครับผม ได้ประโยชน์มากเลยครับ ขอถามเป็นความรู้อีกเรื่องครับ :D

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

If Not Intersect(Target, Range("m3")) Is Nothing Then _
ShowIE

End Sub

คำสั่งคลิ๊ก cells ด้านบน ในกรณีที่ column M มีข้อมูลที่ไม่แน่นอนว่ามีกี่ cells ครับ

ถ้า ต้องการคลิ๊กที่ column M ไม่ว่าจะคลิ๊ก cells อะไร

จะมีคำสั่งอะไรที่จะบอกได้ครับ ว่าเราคลิ๊กที่ cells m... ไหน เพื่อต้องการนำไปแทนค่า ตัวสีแดงของ code ด้านบนนะครับ




ขอบคุณมากครับ
:thup:
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การแปลง html ใน excel

#8

Post by snasui »

:D การที่จะทราบว่าตอนนี้เราคลิกเซลล์ไหนสามารถใช้ Code Selection.Address เพื่อให้ผลลัพธ์เป็นตำแหน่งเซลล์ที่เราคลิกได้ครับ

ส่วนการแทนค่าใน Range("m3") ไม่ทราบว่าที่จริงแล้วต้องการจะทำอะไรครับ :?:
janpranot
Member
Member
Posts: 23
Joined: Wed Jul 13, 2011 9:21 pm

Re: การแปลง html ใน excel

#9

Post by janpranot »

ส่วนการแทนค่าใน Range("m3") ไม่ทราบว่าที่จริงแล้วต้องการจะทำอะไรครับ

เพื่อที่จะเอาค่าใน cell ที่ทำการ click ไปทำการ process ต่อนะครับ เช่น ถ้าคลิ้ก m4 ก็ให้ได้ค่าที่ cell นั้นน่ะครับ.

ขอบคุณมากครับผม
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การแปลง html ใน excel

#10

Post by snasui »

:D คำว่า Target ใน Code คือ Range ที่เลือกคลิก ไม่จำเป็นต้องไปหาที่ไหนอีกครับ
janpranot
Member
Member
Posts: 23
Joined: Wed Jul 13, 2011 9:21 pm

Re: การแปลง html ใน excel

#11

Post by janpranot »

ByVal Target As Range นี่ใช่มั้ยครับ อย่างนี้เราก็สามารถ get cell ที่คลิ๊กได้จากที่นี่เลยใช่หรือเปล่าครับ

:thup: :cp: :D ขอบคุณมากๆครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การแปลง html ใน excel

#12

Post by snasui »

:D ถูกต้องครับ
Post Reply