Hàm chuyển đổi ngôn ngữ bằng VBA (dịch từ ngôn ngữ A sang ngôn ngữ B)

Liên hệ QC

cadafi

Thành viên gạo cội
Thành viên BQT
Administrator
Tham gia
27/5/07
Bài viết
4,291
Được thích
11,364
Donate (Paypal)
Donate
Giới tính
Nam
Nghề nghiệp
Business Man
Tham khảo một số thuật toán chuyển đổi ngôn ngữ, mình cảm thấy đoạn code này ngắn nhất và có thể giúp ích cho các bạn làm việc cho các công ty đa dạng về "quốc tịch", báo cáo cần chuyển đổi qua nhiều loại ngôn ngữ khác nhau.
Mình gửi kèm code và file ví dụ ứng dụng đoạn code này. Mong giúp ích gì đó cho các bạn.
(P/s: Hàm này cần có kết nối internet để hoạt động nhé).

Python:
'***Google Translation Custom Function ***
'Source ref.: https://stackoverflow.com/a/65417789
'================================================================================
'Email: cadafi@live.com | +84 903 73 73 93 for further discussion on Financial analysis.
'================================================================================
'Google Language Codes List:
'Auto Detect = 0 | Bulgarian = bg | Finnish = fi | Hungarian = hu | Latvian = lv | Russian = ru | Turkish = tr
'English = en | Catalan = ca | French = fr | Icelandic = is | Lithuanian = lt | Serbian = sr | Ukrainian = uk
'Afrikaans = af | Chinese = zh | Galician = gl | Indonesian = id | Macedonian = mk | Slovak = sk | Urdu = ur
'Albanian = sq | Croatian = hr | Georgian = ka | Irish = ga | Malay = ms | Slovenian = sl | Vietnamese = vi
'Arabic = ar | Czech = cs | German = de | Italian = it | Maltese = mt | Spanish = es | Welsh = cy
'Armenian = hy | Danish = da | Greek = el | Japanese = ja | Norwegian = no | Swahili = sw | Yiddish = yi
'Azerbaijani = az | Dutch = nl | Gujarati = gu | Kannada = kn | Persian = fa | Swedish = sv
'Basque = eu | Esperanto = eo | Haitian_Creole = ht | Korean = ko | Polish = pl | Tamil = ta
'Belarusian = be | Estonian = et | Hebrew = iw | Lao = lo | Portuguese = pt-PT | Telugu = te
'Bengali = bn | Filipino = tl | Hindi = hi | Latin = la | Romanian = ro | Thai = th
'================================================================================
'Example Syntax:
'=Translate(A1, "vi", "en")    '<--translates text in A1 from Vietnamese to English.
'================================================================================

Function Translate$(sText$, FromLang$, ToLang$)
Dim p1&, p2&, url$, resp$
Const DIV_RESULT$ = "<div class=""result-container"">"
Const URL_TEMPLATE$ = "https://translate.google.com/m?hl=[from]&sl=[from]&tl=[to]&ie=UTF-8&prev=_m&q="
'----------------------------------------------------------------------------------------------------------------------------------------
url = URL_TEMPLATE & WorksheetFunction.EncodeURL(sText)
url = Replace(url, "[to]", ToLang)
url = Replace(url, "[from]", FromLang)
resp = WorksheetFunction.WebService(url)
p1 = InStr(resp, DIV_RESULT)
'----------------------------------------------------------------------------------------------------------------------------------------
If p1 Then
    p1 = p1 + Len(DIV_RESULT)
    p2 = InStr(p1, resp, "</div>")
    Translate = Mid$(resp, p1, p2 - p1)
End If
'----------------------------------------------------------------------------------------------------------------------------------------
End Function
 

File đính kèm

  • FinanceAnalysis.xlsm
    171.2 KB · Đọc: 51
Web KT
Back
Top Bottom