🔄 เปลี่ยนตัวเลขไทย-อารบิก บน Word ทั้งเอกสารหรือบางส่วน ง่ายนิดเดียว!
สวัสดีชาว EduxSphere ทุกคน! 📚 วันนี้เรามาเรียนรู้เรื่องสนุก ๆ เกี่ยวกับการแปลงตัวเลขไทยเป็นเลขอารบิก และเลขอารบิกเป็นเลขไทยกันค่ะ
🤔 ทำไมต้องแปลงตัวเลข?
ในการทำงานกับเอกสารภาษาไทย บางครั้งเราอาจต้องการความสม่ำเสมอของตัวเลขที่ใช้ เช่น:
- ต้องการให้เอกสารทางการใช้เลขไทยทั้งหมด
- ต้องการแปลงตัวเลขในเอกสารภาษาอังกฤษเป็นเลขไทย
- ต้องการความสะดวกในการคำนวณโดยใช้เลขอารบิก
วิธีการใช้งาน Macro
เรามาดูโค้ด Macro สำหรับ Microsoft Word ที่จะช่วยให้การแปลงตัวเลขเป็นเรื่องง่าย!
Sub ConvertToThaiNumbers()
' ตรวจสอบว่ามีการเลือกข้อความหรือไม่
If Selection.Type = wdSelectionIP Then
' ถ้าไม่ได้เลือกข้อความ ถามผู้ใช้
Dim response As Integer
response = MsgBox("คุณไม่ได้เลือกข้อความ" & vbNewLine & _
"คลิก 'Yes' เพื่อแปลงทั้งเอกสาร" & vbNewLine & _
"คลิก 'No' เพื่อยกเลิก", _
vbYesNo + vbQuestion, "ยืนยันการแปลง")
If response = vbYes Then
ActiveDocument.Select
Else
Exit Sub
End If
End If
' เก็บการเลือกปัจจุบันไว้
Dim currentSelection As Range
Set currentSelection = Selection.Range
With currentSelection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindStop ' เปลี่ยนเป็น wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
' แปลงตัวเลข 0-9 เป็นเลขไทย
.Text = "0"
.Replacement.Text = "๐"
.Execute Replace:=wdReplaceAll
.Text = "1"
.Replacement.Text = "๑"
.Execute Replace:=wdReplaceAll
.Text = "2"
.Replacement.Text = "๒"
.Execute Replace:=wdReplaceAll
.Text = "3"
.Replacement.Text = "๓"
.Execute Replace:=wdReplaceAll
.Text = "4"
.Replacement.Text = "๔"
.Execute Replace:=wdReplaceAll
.Text = "5"
.Replacement.Text = "๕"
.Execute Replace:=wdReplaceAll
.Text = "6"
.Replacement.Text = "๖"
.Execute Replace:=wdReplaceAll
.Text = "7"
.Replacement.Text = "๗"
.Execute Replace:=wdReplaceAll
.Text = "8"
.Replacement.Text = "๘"
.Execute Replace:=wdReplaceAll
.Text = "9"
.Replacement.Text = "๙"
.Execute Replace:=wdReplaceAll
End With
MsgBox "แปลงตัวเลขเป็นเลขไทยเสร็จสิ้น", vbInformation
End Sub
Sub ConvertThaiToArabicNumbers()
' ตรวจสอบว่ามีการเลือกข้อความหรือไม่
If Selection.Type = wdSelectionIP Then
' ถ้าไม่ได้เลือกข้อความ ถามผู้ใช้
Dim response As Integer
response = MsgBox("คุณไม่ได้เลือกข้อความ" & vbNewLine & _
"คลิก 'Yes' เพื่อแปลงทั้งเอกสาร" & vbNewLine & _
"คลิก 'No' เพื่อยกเลิก", _
vbYesNo + vbQuestion, "ยืนยันการแปลง")
If response = vbYes Then
ActiveDocument.Select
Else
Exit Sub
End If
End If
' เก็บการเลือกปัจจุบันไว้
Dim currentSelection As Range
Set currentSelection = Selection.Range
With currentSelection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindStop ' เปลี่ยนเป็น wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
' แปลงเลขไทยเป็นเลขอารบิก
.Text = "๐"
.Replacement.Text = "0"
.Execute Replace:=wdReplaceAll
.Text = "๑"
.Replacement.Text = "1"
.Execute Replace:=wdReplaceAll
.Text = "๒"
.Replacement.Text = "2"
.Execute Replace:=wdReplaceAll
.Text = "๓"
.Replacement.Text = "3"
.Execute Replace:=wdReplaceAll
.Text = "๔"
.Replacement.Text = "4"
.Execute Replace:=wdReplaceAll
.Text = "๕"
.Replacement.Text = "5"
.Execute Replace:=wdReplaceAll
.Text = "๖"
.Replacement.Text = "6"
.Execute Replace:=wdReplaceAll
.Text = "๗"
.Replacement.Text = "7"
.Execute Replace:=wdReplaceAll
.Text = "๘"
.Replacement.Text = "8"
.Execute Replace:=wdReplaceAll
.Text = "๙"
.Replacement.Text = "9"
.Execute Replace:=wdReplaceAll
End With
MsgBox "แปลงเลขไทยเป็นเลขอารบิกเสร็จสิ้น", vbInformation
End Sub
📝 วิธีใช้งาน
- เปิด Microsoft Word
- กด Alt + F8 เพื่อเปิด Visual Basic Editor
- เพิ่ม Module ใหม่
- คัดลอกโค้ดด้านบนไปวาง
- บันทึกและกลับมาที่เอกสาร
- เลือกข้อความที่ต้องการแปลง
- รันมาโคร ConvertThaiToArabicNumbers หรือ ConvertToThaiNumbers
🎁 ทิ้งท้าย
Macro นี้จะช่วยให้การจัดการเอกสารของคุณง่ายขึ้นมาก ๆ ลองเอาไปใช้กันดูนะคะ!
🤝 แชร์ประสบการณ์
คุณเคยมีปัญหาเรื่องการแปลงตัวเลขในเอกสารบ้างไหม? มาแชร์ประสบการณ์กันในคอมเมนต์ด้านล่างได้เลย!
บทความนี้เป็นส่วนหนึ่งของ EduxSphere - แหล่งเรียนรู้ที่จะทำให้การศึกษาเป็นเรื่องสนุก! 🌟
ความคิดเห็น
แสดงความคิดเห็น