หากคุณต้องการแปลภาษาใน Excel คุณสามารถใช้ฟังก์ชันแปลภาษาจาก Microsoft Translator API หรือ Google Translate API ผ่านการใช้ VBA (Visual Basic for Applications) เพื่อช่วยให้การแปลภาษาทำได้สะดวกมากขึ้นค่ะ
นี่คือขั้นตอนโดยละเอียดในการใช้ Google Translate API ผ่าน VBA ใน Excel:
ขั้นตอนที่ 1: สร้างโครงการ VBA
- เปิดไฟล์ Excel ของคุณ
- กด
Alt + F11
เพื่อเปิดตัวแก้ไข VBA - ไปที่เมนู
Insert
แล้วเลือกModule
ขั้นตอนที่ 2: เพิ่มโค้ด VBA เพื่อเชื่อมต่อกับ Google Translate API
คัดลอกและวางโค้ดต่อไปนี้ลงในโมดูลที่คุณสร้าง:
Function GoogleTranslate(text As String, targetLang As String, Optional sourceLang As String = "auto") As String Dim objHTTP As Object Dim URL As String Dim Json As String Dim Result As String URL = "https://translate.googleapis.com/translate_a/single?client=gtx&sl=" & sourceLang & "&tl=" & targetLang & "&dt=t&q=" & URLEncode(text) Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP") objHTTP.Open "GET", URL, False objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" objHTTP.send "" Json = objHTTP.responseText Result = ParseJson(Json) GoogleTranslate = Result End Function Function URLEncode(StringVal As String) As String Dim StringLen As Long: StringLen = Len(StringVal) If StringLen > 0 Then ReDim Result(StringLen) As String Dim i As Long, CharCode As Integer Dim Char As String, EncodedChar As String For i = 1 To StringLen Char = Mid(StringVal, i, 1) CharCode = Asc(Char) Select Case CharCode Case 48 To 57, 65 To 90, 97 To 122 EncodedChar = Char Case Else EncodedChar = "%" & Hex(CharCode) End Select Result(i) = EncodedChar Next i URLEncode = Join(Result, "") Else URLEncode = "" End If End Function Function ParseJson(Json As String) As String Dim StartPos As Long Dim EndPos As Long StartPos = InStr(1, Json, """", vbTextCompare) + 1 EndPos = InStr(StartPos, Json, """", vbTextCompare) ParseJson = Mid(Json, StartPos, EndPos - StartPos) End Function
ขั้นตอนที่ 3: ใช้ฟังก์ชันแปลภาษาใน Excel
ในเซลล์ที่คุณต้องการแปลภาษา ให้ใช้ฟังก์ชันที่คุณได้สร้างขึ้นใน VBA โดยใช้งานดังนี้:
=GoogleTranslate(A1, "th")
A1
คือเซลล์ที่มีข้อความที่ต้องการแปล"th"
คือรหัสภาษาที่ต้องการแปลเป็น (ในกรณีนี้คือภาษาไทย)
เพียงเท่านี้คุณก็สามารถแปลภาษาใน Excel ได้ง่ายๆ แล้วค่ะ! 😊
EmoticonEmoticon