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 :