วันพฤหัสบดีที่ 28 ตุลาคม พ.ศ. 2553
Microsoft Office : Word เลขไทย
ถ้าเรามีเอกสาร Microsoft Word Document (.doc, .docx) ที่สร้างไว้แล้ว โดยใช้ตัวเลขแบบอารบิก 0123456789 แต่ต้องการแปลงเป็นตัวเลขภาษาไทย ๐๑๒๓๔๕๖๗๘๙ มีวิธีช่วยให้ทำได้แบบง่ายๆ บ้างไหม?
แวบแรกที่มักคิดถึงกันก็คือความสามารถ Find / Replace ใน Word เอง กำหนดเลข ๑ แทนให้กับ 1 ไล่ไปเรื่อยจนครบ
จะให้เร็วอีกนิดก็คือบันทึกเป็น Macro ให้ค้นหาและแทนที่ทั้งหมด จากการค้นข้อมูลเรื่อง Unicode พบว่า ค่าแบบเลขทศนิยมเป็นดังนี้
อารบิก 0-9 => Unicode 48-57
ไทย ๐-๙ => Unicode 3664-3673
จึงเป็นตัวหลักที่จะเอามาใช้ใน VBA ที่จะเป็นแมโคร Word
ด้วยโค้ดดังนี้
Sub ThaiNumbers()
For i = 0 To 9
' This macro is developed by S.Chatchawal.
' schatchawal@gmail.com
' Convert Arabic Numbers To Thai Numbers
' 01234567890
' arabic 0-9 => Unicode 48-57
' Thai 0-9 => Unicode 3664-3673
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ChrW(48 + i)
.Replacement.Text = ChrW(3664 + i)
.Wrap = wdFindContinue
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next
End Sub
หรือจะอีเมลมารับไฟล์ ThaiNumber.bas ไปใช้เลยก็ได้
ซึ่งจะแนบรายละเอียดไว้ในไฟล์ PDF วิธีใช้สำหรับ Word 2010 ให้ด้วย
หลังจากสร้างแมโครนี้เสร็จ การใช้ก็เพียงแต่กดคีย์ Alt+F8 เปิดไดอะล็อก Macro ขึ้น แล้วเลือกที่ Module1.ThaiNumber แล้วคลิก Run เพียงเท่านี้ทั้งเอกสารก็จะแทนที่เลขอารบิกด้วยเลขไทยแล้ว
ส่วนการเปลี่ยนตัวเลขของ Numbering หรือลำดับหัวข้อย่อย
จะใช้วิธีสร้างแมโครกับส่วนที่เลือกก็ได้ วิธีเปลี่ยนแบบหนึ่งที่สามารถทำได้ มีขั้นตอนดังนี้
1. เลือกข้อความส่วนลำดับหัวข้อย่อย
2.คลิกขวาเลือก Numbering
3.คลิกรูปแบบตัวเลขไทย
4.ตัวอย่างผลลัพธ์ที่ได้
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
มาขอรับ ThaiNumber.bas ไปใช้หน่อยนะครับ
ตอบลบกำลังลำบากเลย
song343@gmail.com
ขอบคุณมากครับ
ขอรับ thainumber.bas ไปใช้หน่อยค่ะ ลำบากเหมือนกัน ทำงานไม่สะดวกเลย
ตอบลบjeab-jr@hotmail.com
ขอบคุณมากค่ะ
rid10
ขอรับ thainumber.bas ไปใช้ด้วยค่ะ ไม่มีความรู้ในการเปลี่ยนใน แมโครเลยค่ะ
ตอบลบth.duangrat@gmail.com
ขอบคุณมากค่ะ
ขอบคุณมากๆครับ ช่วยได้เยอะเลย :)
ตอบลบรบกวนขอรับไฟล์ ThaiNumber.bas ไปใช้ด้วยหน่อยค่ะ พอดีไม่มีความรู้ในการเปลี่ยนแมโคร เพราะลองทำตามอินเตอร์เน็ตหลายครั้งแล้ว แต่ก็สร้างขึ้นมาไม่ได้เลยค่ะ รบกวนหน่อยนะค่ะ
ตอบลบnamesisneung@gmail.com
ขอบคุณมากค่ะ