2017-04-05 139 views
0

通过这个链接[Excel Function To Convert English Names To Arabic]我试着去适应下面的代码从阿拉伯名字翻译成英文Excel函数转换阿拉伯名字英文

Function Translate_To_English (Rng As Range) As String 
' Tools Refrence Select Microsoft internet Control 


    Dim IE As Object, i As Long 
    Dim inputstring As String, outputstring As String, text_to_convert As String, result_data As String, CLEAN_DATA 

    Set IE = CreateObject("InternetExplorer.application") 
    ' TO CHOOSE INPUT LANGUAGE 

    inputstring = "ar" 

    ' TO CHOOSE OUTPUT LANGUAGE 

    outputstring = "en" 

    text_to_convert = Rng.Text 

    'open website 

    IE.Visible = False 
    IE.navigate "http://translate.google.com/#" & inputstring & "/" & outputstring & "/" & text_to_convert 

    Do Until IE.ReadyState = 4 
     DoEvents 
    Loop 

    Application.Wait (Now + TimeValue("0:00:5")) 

    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 
    Translate_To_English = result_data 
End Function` 

,但它没有工作,说错误

this is a screenshot

请帮忙吗?

+1

” ......这没的年龄没有工作“。它怎么不工作?有什么地方出现错误(如果是这样,什么错误,在哪里)?它运行吗,但没有任何反应?它运行但得到不正确的翻译? ...等等。 – BruceWayne

+0

谷歌翻译有一个API,你可以使用,而不是一个IE对象。 – Jeeped

回答

0

我刚刚得到了一个将Google翻译与Google表单关联的代码。

=GOOGLETRANSLATE(C4, "ar", "en") 

它的作品,但它有时给名称的含义和结果变得如此有趣。

例如:

阿里·萨利赫的耐心عليصالحصبر

阿里·侯赛因是无聊عليحسينغثيث

当代عمرحاضرعمر