Automate Language Translations Using Excel VBA

How to use Google Translate tool in conjunction with Excel VBA to perform automatic language translations. Here’s the complete VBA code:

Option Explicit

Public Sub testTranslate()

Dim ws As Worksheet

Set ws = ThisWorkbook.Worksheets("Sheet1")
ws.Cells.Delete

ws.Range("A1") = ("Input")
ws.Range("B1") = "Output"
ws.Range("A2") = "Welcome! What a lovely morning, isn't it?"

ws.Range("B2") = Translate(Range("A2"), "en", "es")
ws.Range("A2:B2").Columns.AutoFit

End Sub

Public Function Translate(strInput As String, strFromSourceLanguage As String, strToTargetLanguage As String) As String
Dim strURL As String
Dim objHTTP As Object
Dim objHTML As Object
Dim objDivs As Object, objDiv As Object
Dim strTranslated As String

' send query to web page
strURL = "https://translate.google.com/m?hl=" & strFromSourceLanguage & _
    "&sl=" & strFromSourceLanguage & _
    "&tl=" & strToTargetLanguage & _
    "&ie=UTF-8&prev=_m&q=" & strInput

Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP") 'late binding
objHTTP.Open "GET", strURL, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.send ""

' create an html document
Set objHTML = CreateObject("htmlfile")
With objHTML
    .Open
    .Write objHTTP.responsetext
    .Close
End With

'Range("H1") = objHTTP.responsetext

Set objDivs = objHTML.getElementsByTagName("div")

For Each objDiv In objDivs

    If objDiv.className = "t0" Then
        strTranslated = objDiv.innerText
        Translate = strTranslated
    End If

Next objDiv



Set objHTML = Nothing
Set objHTTP = Nothing

End Function

Published by

Dinesh Kumar Takyar

Welcome to exceltrainingvideos.com! My aim is to help you learn MS Excel including VBA. I always felt that a good way to learn something was to find solutions to problems in that domain. That is why I share these Excel videos with you. Mostly these are questions asked during my corporate training sessions. I've been training individuals and companies in computers since 1991. I did my B. Sc. (Vordiplom), M. Sc. (Diplom) and Ph.D. (Dr. rer. nat.) from Hamburg, Germany. The best thing about solving some of my visitor's questions is that I also gain new insights. For more Excel VBA solutions you may like to visit my YouTube channel: http://youtube.com/familycomputerclub For a structured Excel VBA training course online you can visit: https://www.youtube.com/excelvbaonline

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.