Google Apps Script

Google Apps ScriptはGoogleの各サービスを制御するスクリプトです。googleのサーバー上で動いており、JavaScriptで書いていきます。

Google Apps Script
%e7%84%a1%e9%a1%8c

まずは、スプレッドシートから見てみます。
%e7%84%a1%e9%a1%8c

表示=>ログ で書いた内容を表示できます。

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時にメールを送ることも可能です。
%e7%84%a1%e9%a1%8c

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)
}