2017-12-19 8 views
1

ExcelでGoogle Translate APIを使用しているので、中国語を英語に翻訳できます。しかし、私が英語を中国語に翻訳したいのであれば、中国語の文字/アルファベットの翻訳だけではなく、Chinseの翻字を得るだけです。ExcelのGoogle Translate APIは中国語の音訳しかありません

sthを変更する必要がありますか。コード内で、またはExcelの設定を変更する必要がありますか?

ありがとうございました!

Public Function Translate(rng As Range, Optional translateFrom As String = "en", Optional translateTo As String = "zh") 
Dim getParam As String, trans As String, objHTTP As Object, URL As String 
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP") 
getParam = ConvertToGet(rng.Value) 
URL = "https://translate.google.com/m?hl=" & translateFrom & "&sl=" & translateFrom & "&tl=" & translateTo & "&ie=UTF-8&prev=_m&q=" & getParam 
objHTTP.Open "GET", URL, False 
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" 
objHTTP.send ("") 
If InStr(objHTTP.responseText, "div dir=""ltr""") > 0 Then 
    trans = RegexExecute(objHTTP.responseText, "div[^""]*?""ltr"".*?>(.+?)</div>") 
    Translate = Clean(trans) 
Else 
    Translate = CVErr(xlErrValue) 
End If 
End Function 


Sub TranslateCell() 
Dim getParam As String, trans As String, translateFrom As String, translateTo As String 
translateFrom = "zh" 
translateTo = "en" 
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP") 
Dim r As Range, cell As Range 
Set cell = Selection 
For Each cell In Selection.Cells 
    getParam = ConvertToGet(cell.Value) 
    URL = "https://translate.google.com/m?hl=" & translateFrom & "&sl=" & translateFrom & "&tl=" & translateTo & "&ie=UTF-8&prev=_m&q=" & getParam 
    objHTTP.Open "GET", URL, False 
    objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" 
    objHTTP.send ("") 
    If InStr(objHTTP.responseText, "div dir=""ltr""") > 0 Then 
     trans = RegexExecute(objHTTP.responseText, "div[^""]*?""ltr"".*?>(.+?)</div>") 
     cell.Value = Clean(trans) 
    Else 
     MsgBox ("Error") 
    End If 
Next cell 
End Sub 

答えて

関連する問題