TOP

LibreOffice Calc の Google 翻訳

説明

LibreOffice Calc プログラムの標準機能には、テキストを他の言語に翻訳する機能は含まれていません。ただし、どのユーザーでもそのような関数を独自に作成できます。

この記事では、ワークシートのセル内のテキストを直接翻訳できるようにするカスタム関数 GoogleTranslate_YouLibreCalc() について説明します。

この機能はサイトを使用してテキストを翻訳します "グーグル翻訳" 任意の数式で独立して使用することも、他の標準関数と一緒に使用することもできます。



StarBASIC 関数のコード Google Translate

たす 関数 Google 翻訳 、メニューを開きます Tools - Macros - Edit Macros... 、 選択する モジュール1 次のテキストをモジュールにコピーします。

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
    
  ' AJAX リクエストを使用して、Web サーバーへの API 呼び出しを実行します。 
  Set XMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")
 
  XMLHTTP.Open "GET", WebsiteURL, False  
  XMLHTTP.Send
 
  ' AJAX リクエストの応答テキストを使用して HTML ドキュメントを作成します。 
  Set oHTML = CreateObject("HTMLFile")
  With oHTML
        .Open
        .Write XMLHTTP.responseText
        .Close
  End With
  
  ' Web 要素のライブラリ Microsoft HTML Object Library を使用して、HTML テキストをオブジェクト モデルに変換します。 
  Set HTMLDoc = oHTML  
  
  Set ObjClass = HTMLDoc.getElementsByClassName("result-container").Item(0)
  If Not ObjClass Is Nothing Then
    GoogleTranslate_YouLibreCalc = ObjClass.innerText    
  End If 
 
  ' メモリを解放します 
  Set ObjClass = Nothing
  Set oHTML    = Nothing
  Set XMLHTTP  = Nothing  
End Function

次に、閉じます Macro Editor そしてワークシートに戻ります LibreOffice Calc 、任意のセルを選択し、新しい機能を使用してください GoogleTranslate_YouLibreCalc()

拡張機能の使用

無料の拡張機能をインストールすると、GOOGLETRANSLATE() 関数を使用することもできます。 YouLibreCalc.oxt またはそのフル機能バージョン YLC_ユーティリティ.oxt

その後、この関数は LibreOffice Calc で開かれるすべてのファイルで使用できるようになります。