Excelで自動翻訳する方法をご紹介!

Excelで自動翻訳する方法をご紹介!

Microsoft Excelで、文章を自動翻訳したいと思ったことはありませんか?別言語の文章を翻訳するために翻訳サイトなどを開くのは手間になってしまうため、シート上で翻訳したいですよね。この記事では、Excelで自動翻訳する方法をご紹介しています。


目次[非表示]

  1. Excelで自動翻訳したい
  2. Excelで自動翻訳する方法

Excelで自動翻訳したい

Microsoft Excelで、文章を自動翻訳したいと思ったことはありませんか?シート内に日本語以外の言語で文章が入力されていて、いちいち翻訳サイトやアプリを起動するのが面倒だというシーンも少なくないですよね。この場合は、Excelの翻訳機能を使用したりマクロを使って翻訳を行ってみましょう。

この記事では、Excelで自動翻訳する方法をご紹介していきます。

Excelで自動翻訳する方法

「翻訳」ボタンをクリック→翻訳したい文章のあるセルを選択
それでは、Excelで自動翻訳する方法を説明します。まずはExcelの機能で自動翻訳を行う方法から説明します。ウィンドウ上部の「校閲」タブをクリックしてリボンメニューを開き、「言語」項目の「翻訳」ボタンをクリックしましょう。ウィンドウの右側に「翻訳ツール」が表示されるので、翻訳したい文章のあるセルを選択しましょう。

※初回使用時は「インテリジェントサービスを使用しますか?」というダイアログボックスが表示されるので、「オンにする」をクリックしましょう。これで、翻訳ツールが使用可能になります。

自動的に翻訳された
すると、翻訳ツールが対象セルの文章を認識して自動的に翻訳を行ってくれますよ。日本語環境でパソコンを使用している場合は、翻訳先の言語が自動的に日本語になります。別のセルのを選択すると、すぐにその別のセルの文章を翻訳して表示してくれます。
単語にマウスカーソルを乗せると意味や同系統の単語が表示される
また、意味を知りたい単語にマウスカーソルを乗せるとその単語が翻訳されて「~の翻訳」に意味や同系統の単語が表示されますよ。
「翻訳先の言語」の右側のプルダウンメニューをクリックして言語を選択
もし翻訳先の言語を変更したい場合は、「翻訳先の言語」の右側のプルダウンメニューをクリックして言語を選択しましょう。言語は約60以上の言語に対応しています。

また、翻訳ツールウィンドウで正しく翻訳を行えない場合は「リサーチ」機能が動作します。リサーチウィンドウからは対象の単語や文書を指定して、翻訳を行うことができますよ。これらの翻訳ツールはExcelだけではなくWordやOutlookにも搭載されているので、それらのアプリケーションでも同様の方法で翻訳ツールを起動・翻訳することができますよ。

「Visual Basic」をクリック
ちなみに、VBAでGoogle翻訳を導入して翻訳を行うといったことも可能です。ウィンドウ上部の「開発」タブをクリックしてリボンメニューを開き、「コード」項目の「Visual Basic」をクリックしましょう。VBAのウィンドウが開いたら、シートに下記のコードを入力してマクロを保存して実行します。
Option Explicit
 
Public Function GoogleTranslate(rng As Range, translateFrom As String, translateTo As String) As String
           
    '変数設定
    Dim param As String, trans As String, url As String
    
    'HTTPリクエストの設定
    Dim objHTTP As Object
    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    
    'セルの値を取得
    param = rng.Value
    
    'HTTPリクエストのURL設定
    url = "https://translate.google.pl/m?hl=" & translateFrom & "&sl=" & translateFrom & "&tl=" & translateTo & "&ie=UTF-8&prev=_m&q=" & EncodeURL(param)
    
    'HTTPリクエスト
    objHTTP.Open "GET", url, False
    objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
    objHTTP.send ("")
    
    'HTTPリクエストのレスポンステキストを取得
    Dim oHtml As New MSHTML.HTMLDocument
    Set oHtml = New MSHTML.HTMLDocument
    oHtml.body.innerHTML = objHTTP.responseText
    
    '翻訳結果を取得
    Dim transtext As String
    transtext = oHtml.getElementsByClassName("result-container")(0).innerText
    
    '翻訳結果があればClean関数を実行、なければエラー出力
    If transtext <> "" Then
        GoogleTranslate = Clean(transtext)
    Else
        GoogleTranslate = CVErr(xlErrValue)
    End If
 
End Function
 
'翻訳前のテキストのエンコード用に変換
Function ConvertToGet(str As String)
 
    str = Replace(str, " ", "+")
    str = Replace(str, vbNewLine, "+")
    str = Replace(str, "(", "%28")
    str = Replace(str, ")", "%29")
    
    ConvertToGet = str
 
End Function
 
'翻訳後のテキスト内の文言を変換
Function Clean(str As String)
 
    str = Replace(str, """, """")
    str = Replace(str, "%2C", ",")
    str = Replace(str, "'", "'")
    
    Clean = str
 
End Function
 
'日本語をURLエンコード
Function EncodeURL(ByVal str As String) As String
    EncodeURL = Application.WorksheetFunction.EncodeURL(str)
End Function
 
'関数の説明
Sub RegisterGoogleTransleFormula()
 
    '関数名の設定
    Dim strFunc As String
    strFunc = "GoogleTranslate"
    
    '関数の説明
    Dim strDesc As String
    strDesc = "GoogleTranslate関数" & vbNewLine & vbNewLine & _
    "英語から日本語に翻訳したい場合、GoogleTranslate(A1,""en"",""ja"")" & vbNewLine & vbNewLine & _
    "日本語から英語に翻訳したい場合、GoogleTranslate(A1,""ja"",""en"")" & vbNewLine & vbNewLine & _
    "他の言語を使いたい場合は: https://cloud.google.com/translate/docs/languages/" & vbNewLine & _
    "(英語と日本語以外の言語は動作検証できていない)"
    
    '関数内の引数の説明
    Dim strArgs(0 To 2) As String
    strArgs(0) = "翻訳したいセルを選択"
    strArgs(1) = "現在の言語を入力(ex. 英語はen,日本語はja)"
    strArgs(2) = "翻訳したい言語を入力(ex. 英語はen,日本語はja)"
    
    Application.MacroOptions Macro:=strFunc, Description:=strDesc, ArgumentDescriptions:=strArgs, Category:="Custom Category"
 
End Sub

あとは「=GoogleTranslate(対象セル,現在の言語,翻訳したい言語)」の数式を入力すれば、セルの翻訳ができますよ。上記の例でB2セルを翻訳するなら「=GoogleTranslate(B2, “en”, “ja”)」のように入力すればOKです。

もしマクロが正しく機能しない場合は、下記リンク先の記事を参考にしてマクロを有効化してみてくださいね。

Excelのマクロを有効化する方法をご紹介!

Microsoft Excelではマクロを扱うことができますが、マクロが記載されているブックを開いた時に警告が表示されてマクロが無効化された場合に有効にする方法をご存知でしょうか?この記事では、Excelのマクロを有効化する方法をご紹介していきます。

Thumb

関連記事