Kali ini, saya ingin menghadirkan Google Translate menggunakan Macro VBA Excel. Jadi mari kita buat sebuah Apalikasi Terjemahan menggunakan Excel dengan menggunakan Google Translate API.
Ini adalah aplikasi sederhna yang bisa dimanfaatkan untuk menterjemahkan tanpa harus membuka Browser, tapi bisa dilakukan semua di Excel.
Step By Step Pembuatan Aplikasi ini, bisa di lihat di Tutorial Video berikut ini.
Pada aplikasi ini saya menggunakan 2 Userform, Userform Pertama digunakan sebagai Userform Utama Untuk menterjemahkan dan Userform ke 2 digunakan untuk memilih Bahasa.
Tahap pertama Buatlah Userform seperti dibawah ini
Pada Userform1 terdapat dua textbox untuk input dan hasil terjemahan dan 2 label untuk menampilkan bahasa yang dipilih
Script Pada UserForm1
Private Sub CommandButton1_Click() UserForm2.Tag = "SR" UserForm2.Show End Sub Private Sub CommandButton2_Click() UserForm2.Tag = "TJ" UserForm2.Show End Sub Private Sub CommandButton3_Click() TextBox2.Text = terjemahkan(LblSumber.Tag, LblTujuan.Tag, TextBox1.Text) End Sub Private Sub LblSumber_Click() MsgBox LblSumber.Tag End Sub Private Sub LblTujuan_Click() MsgBox LblTujuan.Tag End Sub
Untuk Userform2 Buat Form Kosong, Karena semua Text untuk memilih bahasa akan dibuat saat Runtime.
Brikut Script pada Userform2
Dim Colex As New Collection Private Sub UserForm_Initialize() Dim Lbl As MSForms.Label Dim Lblku As ClsLabel For i = 0 To 55 Set Lbl = Controls.Add("Forms.Label.1") With Lbl .Name = "Label" & i .Caption = Cells(i + 2, "A").Value .Tag = Cells(i + 2, "B").Value .Top = ((i Mod 12) * 23) + 15 .Left = ((i \ 12) * 100) + 15 .Font.Size = 10 .ForeColor = 13790210 .Height = 23 .Width = 99 End With Set Lblku = New ClsLabel Set Lblku.Labelku = Lbl Colex.Add Lblku Next End Sub
Function untuk menterjemahkan Text menggunakan Google Translate API
Function terjemahkan(Sr As String, tj As String, qr As String) Dim URL As String, Sumber As String Dim Tujuan As String, Kata As String Dim Htp As Object, JSON As Object Set Htp = CreateObject("Winhttp.winhttprequest.5.1") URL = "https://translate.googleapis.com/translate_a/single?client=gtx" Sumber = "&sl=" & Sr Tujuan = "&tl=" & tj Kata = "&dt=t&q=" & qr URL = URL & Sumber & Tujuan & Kata Htp.Open "GET", URL, False Htp.send Set JSON = JsonConverter.ParseJson(Htp.ResponseText) terjemahkan = JSON(1)(1)(1) End Function
Untuk membaca hasil respon google Translate, disini saya menggunakan JSON Converte.
JSON conveter bisa kamu dapatkan disini : VBA-tools/VBA-JSON: JSON conversion and parsing for VBA (github.com)
Script pada Class Module
Public WithEvents Labelku As MSForms.Label Private Sub Labelku_Click() Dim Lbl As MSForms.Label If UserForm2.Tag = "SR" Then Set Lbl = UserForm1.LblSumber Else Set Lbl = UserForm1.LblTujuan End If Lbl.Caption = Labelku.Caption Lbl.Tag = Labelku.Tag Unload UserForm2 End Sub
Ini adalah daftar bahasa dan Kode Bahasa ISO yang saat ini didukung oleh Google Translate. Ketika mengirim permintaan terjemahan ke API Google Translate.
Language Name | Language Code |
---|---|
Afrikaans | af |
Irish | ga |
Albanian | sq |
Italian | it |
Arabic | ar |
Japanese | ja |
Azerbaijani | az |
Kannada | kn |
Basque | eu |
Korean | ko |
Bengali | bn |
Latin | la |
Belarusian | be |
Latvian | lv |
Bulgarian | bg |
Lithuanian | lt |
Catalan | ca |
Macedonian | mk |
Chinese Simplified | zh-CN |
Malay | ms |
Chinese Traditional | zh-TW |
Maltese | mt |
Croatian | hr |
Norwegian | no |
Czech | cs |
Persian | fa |
Danish | da |
Polish | pl |
Dutch | nl |
Portuguese | pt |
English | en |
Romanian | ro |
Esperanto | eo |
Russian | ru |
Estonian | et |
Serbian | sr |
Filipino | tl |
Slovak | sk |
Finnish | fi |
Slovenian | sl |
French | fr |
Spanish | es |
Galician | gl |
Swahili | sw |
Georgian | ka |
Swedish | sv |
German | de |
Tamil | ta |
Greek | el |
Telugu | te |
Gujarati | gu |
Thai | th |
Haitian Creole | ht |
Turkish | tr |
Hebrew | iw |
Ukrainian | uk |
Hindi | hi |
Urdu | ur |
Hungarian | hu |
Vietnamese | vi |
Icelandic | is |
Welsh | cy |
Indonesian | id |
Yiddish | yi |
Download File :