Google Apps ScriptはGoogleの各サービスを制御するスクリプトです。googleのサーバー上で動いており、JavaScriptで書いていきます。
まずは、スプレッドシートから見てみます。
表示=>ログ で書いた内容を表示できます。
function hello() { Logger.log("hello world"); }
ブラウザ表示
function hello() { Browser.msgBox("Hello"); }
カスタム関数の作成
function getDouble(n){ return n * 2; }
任意のスプレッドシートへの値の挿入
function setData(){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var range = sheet.getRange("A1"); range.setValue(100); }
function setData(){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var range = sheet.getRange(1, 2); range.setValue(100); range.setBackground("red"); }
function getResults(){ var sheet = SpreadsheetApp.getActiveSheet(); for (var i = 1; i <= sheet.getLastRow(); i++){ if(sheet.getRange(i, 2).getValue() >= 70){ sheet.getRange(i, 3).setValue("OK").setBackground("green"); } else { sheet.getRange(i, 3).setValue("NG").setBackground("red"); } } }
mailApp
function sendReport(){ var sheet = SpreadsheetApp.getActiveSheet(); var n = 0; for (var i = 1; i <= sheet.getLastRow(); i++){ if(sheet.getRange(i, 2).getValue() >= 70){ n++; } } MailApp.sendEmail( "hogehoge@gmail.com", "合格者の数", n + "名合格しました!" ); }
トリガーを設定して、毎日N時にメールを送ることも可能です。
Google Formの送信
function sendReport(e) { var rs = ''; var name = e.namedValues['お名前']; var email = e.namedValues['メールアドレス']; var attend = e.namedValues['参加?']; rs = "name: "+name+"\nemail: "+email+"attend: "+attend; MailApp.sendEmail("hogehoge@gmail.com", "回答ありました", rs) }