Я пытался решить подобную проблему и нашел код где-то реализованный, чтобы удовлетворить мои потребности, надеюсь, что это тоже поможет.
Sub runner()
Dim conversion As String
conversion = "hello world"
MsgBox translate(conversion)
End Sub
Function translate(text As String)
' Tools Refrence Select Microsoft internet Control
Dim IE As Object, i As Long
Dim inputstring As String, outputstring As String, text As String, result_data As String, CLEAN_DATA
Set IE = CreateObject("InternetExplorer.application")
'choose input language automatic recognition in example
inputstring = "auto"
'choose output language czech in example
outputstring = "cs"
'open google translate
IE.Visible = False
IE.navigate "http://translate.google.com/#" & inputstring & "/" & outputstring & "/" & text
Do Until IE.ReadyState = 4
DoEvents
Loop
Application.Wait (Now + TimeValue("0:00:1"))
Do Until IE.ReadyState = 4
DoEvents
Loop
CLEAN_DATA = Split(Application.WorksheetFunction.Substitute(IE.Document.getElementById("result_box").innerHTML, "</SPAN>", ""), "<")
For j = LBound(CLEAN_DATA) To UBound(CLEAN_DATA)
result_data = result_data & Right(CLEAN_DATA(j), Len(CLEAN_DATA(j)) - InStr(CLEAN_DATA(j), ">"))
Next
IE.Quit
transalte = result_data
End Function
Спасибо, но это не Microsoft Translator? –
Как я могу определить язык, который я хочу перевести? Я получаю пустое сообщение. –
В выходной строке измените значение на код страны – Lance