Option Explicit Private Const strSHORTCODES As String = ",en,af,sq,ar,hy,az,eu,be,bn,bg,ca,zh,hr,cs,da,nl,eo,et,tl,fi,fr,gl,ka,d e,el,gu,ht,iw,hi,hu,is,id,ga,it,ja,kn,ko,lo,la,lv,lt,mk,ms,mt,no,fa,pl,p t-PT,ro,ru,sr,sk,sl,es,sw,sv,ta,te,th,tr,uk,ur,vi,cy,yi" Public Enum eLanguage auto_detect = 0 english = 1 afrikaans = 2 Albanian = 3 Arabic = 4 Armenian = 5 Azerbaijani = 6 Basque = 7 Belarusian = 8 Bengali = 9 Bulgarian = 10 Catalan = 11 Chinese = 12 Croatian = 13 Czech = 14 Danish = 15 Dutch = 16 Esperanto = 17 Estonian = 18 Filipino = 19 Finnish = 20 French = 21 Galician = 22 Georgian = 23 German = 24 Greek = 25 Gujarati = 26 Haitian_Creole = 27 Hebrew = 28 Hindi = 29 Hungarian = 30 Icelandic = 31 Indonesian = 32 Irish = 33 Italian = 34 Japanese = 35 Kannada = 36 Korean = 37 Lao = 38 Latin = 39 Latvian = 40 Lithuanian = 41 Macedonian = 42 Malay = 43 Maltese = 44 Norwegian = 45 Persian = 46 Polish = 47 Portuguese = 48 Romanian = 49 Russian = 50 Serbian = 51 Slovak = 52 Slovenian = 53 Spanish = 54 Swahili = 55 Swedish = 56 Tamil = 57 Telugu = 58 Thai = 59 Turkish = 60 Ukrainian = 61 Urdu = 62 Vietnamese = 63 Welsh = 64 Yiddish = 65 End Enum Public Function Translate(ByVal strText As String, _ Optional ByVal eFrom As eLanguage = auto_detect, _ Optional ByVal eTo As eLanguage = english, _ Optional ByVal blnPhonetic As Boolean = False) As String Dim strUrl Dim strTransText As String Dim strResult As String Dim varSplitText As Variant Dim lngItem As Long If strText = "" Then Translate = "" Exit Function End If strText = URLEncode(strText) strUrl = "https://translate.googleapis.com/translate_a/single?client=gtx&sl={F}&tl={T}&dt=t&q={S}" strUrl = Replace$(strUrl, "{S}", strText) strUrl = Replace$(strUrl, "{F}", Split(strSHORTCODES, ",")(eFrom)) strUrl = Replace$(strUrl, "{T}", Split(strSHORTCODES, ",")(eTo)) With CreateObject("MSXML2.XMLHTTP") Call .Open("get", strUrl, False) Call .Send strResult = .responseText End With varSplitText = Split(Split(strResult, "]],")(0), "[") If Not blnPhonetic Then For lngItem = 3 To UBound(varSplitText) strTransText = strTransText & Split(varSplitText(lngItem), ",")(0) Next Else For lngItem = 3 To UBound(varSplitText) strTransText = strTransText & Split(varSplitText(lngItem), ",")(2) Next End If strResult = Replace(strTransText, """", "") Translate = strResult End Function ich habe mit diese VB code versucht , google translate im Excel zu implementieren aber das hat nicht funktionniert , vorschläge?
Gast
#6178146
ja, formatier das ganze mal so, dass es lesbar wird. und mein vorschlag bleobt immer noch, geeignete(re) werkzeuge zu verwenden...