La funzionalità standard del programma LibreOffice Calc non contiene funzioni per la traduzione del testo in altre lingue. Tuttavia, qualsiasi utente può creare tale funzione in modo indipendente.
In questo articolo esamineremo la funzione personalizzata GoogleTranslate_YouLibreCalc(), che ti consentirà di tradurre il testo direttamente in una cella su qualsiasi foglio di lavoro.
La funzione utilizza il sito per tradurre il testo "Google Traduttore" e può essere utilizzato in qualsiasi formula sia indipendentemente che insieme ad altre funzioni standard.
Aggiungere funzione Google Traduttore , aprire il menu Tools - Macros - Edit Macros... , Selezionare Module1 e copia il seguente testo nel modulo:
Option VBASupport 1 Function GoogleTranslate_YouLibreCalc(TextToTranslate As String, SrcLang As String, TrgLang As String) ' moonexcel.com.ua Dim FCalc As Object Dim WebsiteURL As String Dim XMLHTTP As Object Dim oHTML As Object Dim HTMLDoc As HTMLDocument Dim ObjClass As Object FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess") TextToTranslate = FCalc.callFunction("ENCODEURL", Array(TextToTranslate)) SrcLang = LCase(SrcLang) TrgLang = LCase(TrgLang) IF SrcLang = "zh-cn" Then SrcLang = "zh-CN" IF SrcLang = "zh-tw" Then SrcLang = "zh-TW" IF TrgLang = "zh-cn" Then TrgLang = "zh-CN" IF TrgLang = "zh-tw" Then TrgLang = "zh-TW" WebsiteURL = "https://translate.google.com/m?sl=" + SrcLang + "&tl=" + TrgLang + "&hl=en&q=" + TextToTranslate ' Eseguiamo la chiamata API al server web utilizzando la richiesta AJAX Set XMLHTTP = CreateObject("MSXML2.ServerXMLHTTP") XMLHTTP.Open "GET", WebsiteURL, False XMLHTTP.Send ' Creiamo un documento HTML utilizzando il testo di risposta della richiesta AJAX Set oHTML = CreateObject("HTMLFile") With oHTML .Open .Write XMLHTTP.responseText .Close End With ' Convertiamo il testo HTML in un modello a oggetti utilizzando la libreria di elementi web Microsoft HTML Object Libreria Set HTMLDoc = oHTML Set ObjClass = HTMLDoc.getElementsByClassName("result-container").Item(0) If Not ObjClass Is Nothing Then GoogleTranslate_YouLibreCalc = ObjClass.innerText End If ' Liberiamo la memoria Set ObjClass = Nothing Set oHTML = Nothing Set XMLHTTP = Nothing End Function
Quindi, chiudi Macro Editor e tornare al foglio di lavoro LibreOffice Calc , seleziona qualsiasi cella e utilizza la nostra nuova funzionalità GoogleTranslate_YouLibreCalc() .
Puoi anche utilizzare la funzione GOOGLETRANSLATE() installando l'estensione gratuita YouLibreCalc.oxt o la sua versione completa YLC_Utilities.oxt .
Successivamente, questa funzione sarà disponibile in tutti i file che verranno aperti in LibreOffice Calc.