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には、編集に関する様々な情報が入っています。
Googleの公式ページにどのような情報が手に入るかが記載されているので、まとめてみました。
| メソッド | 手に入る情報 |
|---|---|
| authMode | ユーザーに対する権限? |
| user | ログインしているユーザーのID |
| range | 編集されたセルの位置 |
| value | 編集後のセルの値 |
| oldvalue | 編集前のセルの値 |
実際には、rangeやvalueをよく使うことになります。