Code.gs
/************************************
メニューに追加する
************************************/
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('SCRIPT')
.addItem('GUI', 'openGUI')
.addToUi();
}
/************************************
UIを表示する
************************************/
function openGUI() {
var html = HtmlService.createHtmlOutputFromFile('index')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
SpreadsheetApp.getUi()
.showModalDialog(html, 'myGUI');
}
/************************************
アクティブセルまでをグローバル化する
************************************/
var ss = SpreadsheetApp.getActive();
var sh = ss.getActiveSheet();
var range = sh.getActiveRange();
/************************************
翻訳前と翻訳後の言語をグローバル化する
************************************/
var source_lang = "en";
var target_lang = "ja";
/************************************
アクティブ行の値を取得して返す
************************************/
function get_active_values(){
var row = range.getRow();
var value = sh.getRange(row+":"+row).getValues();
return value;
}
/************************************
値をアクティブ行のC列に入れて
source_lang→target_lang
でGoogle翻訳した値をD列に入れて
その値を返す
************************************/
function set_active_value(value){
var row = range.getRow();
sh.getRange('C'+row).setValue(value.trim());
var value = LanguageApp.translate(value, source_lang, target_lang);
sh.getRange('D'+row).setValue(value.trim());
return value;
}
/************************************
値をアクティブ行のB列に入れて
source_lang→target_lang
でGoogle翻訳した値をA列に入れて
その値を返す
************************************/
function set_active_value_sentence(value){
var row = range.getRow();
sh.getRange('B'+row).setValue(value.trim());
var value_sentence_translate = LanguageApp.translate(value, source_lang, target_lang);
sh.getRange('A'+row).setValue(value_sentence_translate.trim());
value = value_sentence_translate;
return value;
}
/************************************
値をアクティブ行のB列に入れる
************************************/
function set_active_value2(value){
var row = range.getRow();
sh.getRange('D'+row).setValue(value.trim());
}
/************************************
値をアクティブ行のA列に入れる
************************************/
function set_active_value3(value){
var row = range.getRow();
sh.getRange('A'+row).setValue(value.trim());
}
/************************************
上の行をアクティブにして値を取得して返す
************************************/
function get_prev_values(){
var col = range.getColumn();
var row = range.getRow()-1;
sh.getRange(row , col).activate();
var value = sh.getRange(row+":"+row).getValues();
return value;
}
/************************************
下の行をアクティブにして値を取得して返す
************************************/
function get_next_values(){
var col = range.getColumn();
var row = range.getRow()+1;
sh.getRange(row , col).activate();
var value = sh.getRange(row+":"+row).getValues();
return value;
}
index.html