GoogleAppsScriptを起動時/編集時に動かす

概要

GoogleAppsScriptでは、イベントに応じて関数を動かすことができます。

関数名イベント
onOpen(e)ファイル(スプレッドシート)を開いたとき
onEdit(e)スプレッドシートにて、セルの値を変更したとき
doGet(e) HTMLServiceのURLに対し、http/GETを行ったとき
doPost(e) HTMLServiceのURLに対し、http/Postを行ったとき


上2つは主にスプレッドシートで、下2つは主にHTMLServiceで用いられます。
ここでは、onOpen()と、onEdit()を実際に説明してみます。

手順

まず、スプレッドシートを以下のように、それに紐づくスクリプトを以下のように準備します。

・スプレッドシート



・スクリプト

function onEdit(e) {
  if (e.value < 60) {
    e.range.setBackground("red");
  }
}

その後、スプレッドシートを開き、セルに60以下の数字を入れると、編集したセルの背景色が赤色になるはずです。



onEdit(e)のeから手に入る情報について

onEdit関数のeには、編集に関する様々な情報が入っています。
Googleの公式ページにどのような情報が手に入るかが記載されているので、まとめてみました。

メソッド手に入る情報
authModeユーザーに対する権限?
userログインしているユーザーのID
range編集されたセルの位置
value編集後のセルの値
oldvalue編集前のセルの値

実際には、rangeやvalueをよく使うことになります。