code vba แปลภาษาใน excel Google Translate API

หากคุณต้องการแปลภาษาใน Excel คุณสามารถใช้ฟังก์ชันแปลภาษาจาก Microsoft Translator API หรือ Google Translate API ผ่านการใช้ VBA (Visual Basic for Applications) เพื่อช่วยให้การแปลภาษาทำได้สะดวกมากขึ้นค่ะ

นี่คือขั้นตอนโดยละเอียดในการใช้ Google Translate API ผ่าน VBA ใน Excel:

ขั้นตอนที่ 1: สร้างโครงการ VBA

  1. เปิดไฟล์ Excel ของคุณ
  2. กด Alt + F11 เพื่อเปิดตัวแก้ไข VBA
  3. ไปที่เมนู 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 ได้ง่ายๆ แล้วค่ะ! 😊

Latest
Previous
Next Post »