2016-03-11 5 views

ответ

1

Я пытался решить подобную проблему и нашел код где-то реализованный, чтобы удовлетворить мои потребности, надеюсь, что это тоже поможет.

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 
+0

Спасибо, но это не Microsoft Translator? –

+0

Как я могу определить язык, который я хочу перевести? Я получаю пустое сообщение. –

+0

В выходной строке измените значение на код страны – Lance