GAS(Google Apps Script)を用いてExcel一括翻訳方法

01_効率化

時間の節約こそ最大の節約だ!はい、ちょっと脱線タイムです。

あまり仕事の話はしませんが、私は・・・とあるメーカーのプロジェクトマネージャー兼プロジェクトリーダのような仕事をしていて、係長(リーダー)クラスなので実業務に近しい業務多めの仕事をしています。

その為、スケジュール全体の俯瞰をするためには定型作業は機械に任せて仕事します。


Excelのマクロ、VBAは当たり前のように使いますが、マイクロソフト系のソフトはもうオワコン化してきてるので・・・・

え?ブラウザでつかえないからだよ!

これからは、というか既にGoogleの時代です。なのでもういい加減スプレッドシートのマクロGAS(Google Apps Script)を書いてみました。

今回は中国語のExcelシートをGASをつかって一括翻訳じゃ!

何故か知らんけどExcelの文章って一括翻訳してくれるサービス少ないんじゃボケ!俺の仕事時間なんやとおもてんねん!と内心キレて在宅で仕事してました。


Excel一括翻訳方法

①まず翻訳したいExcelをGoogledriveに保存します。 ドラッグアンドドロップ

②そのExcelをスプレッドシートで保存します。 ファイル→スプレッドシートとして保存

③ツールのスクリプトを選択して以下のコードを貼り付けます。

 ※以下のコードは中国語(zh)→日本語(ja)のコードです。

  英語にしたい方はenに書き換えてください。

function Translatedzhja() {

  //現在のスプレッドシートを取得
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  //スプレッドシートのシート数を取得
  var sp_cnt = spreadsheet.getNumSheets();
  
  //初めのシートからすべてのシートを指定
  for(let cnt = 0;cnt <= sp_cnt;cnt++){
    //現在のシートを取得
    var sheet = spreadsheet.getSheets()[cnt];
    sheet.activate();
    //最終行を取得
    const lastRow = sheet.getLastRow();
    //最終列を取得
    const lastColumn = sheet.getLastColumn();
    
    for(let i = 1;i <= lastRow ;i++) {
      for (let j = 1; j <= lastColumn ;j++){
        //指定するセルの範囲を取得
        var range = sheet.getRange(i,j);
        //値を取得する
        var value = range.getValue();
        if(value !== ""){
          sheet.getRange(i,j).setValue(LanguageApp.translate(value, 'zh', 'ja'));
        }
      }
    }
  }
}

④実行します。


やったー、これで糞翻訳業務とおさらばじゃー

言うて、gasは今日始めたばかりの初心者なんで細かい配慮ができてないとかどうでもいい突っ込みがあればぜひお願いします。私の糧になり経験値なり、もっと楽できます。

人間は怠惰でいい!面倒な仕事はAI?機械学習?お前らがやっとけよ、こっちは人間にしかできない仕事するから分担、分業上等winwinでありたいね。蛇足でした。


まぁ、普通の話しますと、上記の方法で翻訳は出来ます。

が、シートを変える度にこのコード貼り付けが必要になります。

そのたびに広告踏んでください。私の糧になります。

まぁ、面倒ですよね。

特定のgasを複数のシートで共有させるためにアカウント紐づけつ方法がわかりません。

調べているのですがうまくできませんでした。タイムアップでした。

仕事上のビジネスアカウントで共有できれば課員全員が使えるようになるので作業効率上がるのでやっておきたいんですよね。わかればまた、別記事でまとめるか、この記事更新するかします。

コメント

タイトルとURLをコピーしました