見出し画像

🧩【onEdit(e)入門】#1|「e」ってなに?自動実行のしくみをのぞいてみよう

📚 このnoteは「onEdit(e)入門シリーズ」の第1回です。
Google Apps Script(GAS)を使い始めたばかりの方向けに、
スプレッドシートの自動化に欠かせない「onEdit(e)」の基礎からやさしく解説していきます。



👀 これ、やってみたいと思ったことありませんか?

  • ✅ チェックを入れたら行の色が変わる

  • 📅 日付を入力したら、曜日を自動で表示

  • 💬 コメントを書いたら、ログを別シートに残したい

こうした「編集したら自動でなにかが起きる」仕組み、
実は onEdit(e) を使えば簡単に実現できます。


🔧 onEdit(e)ってなに?

スプレッドシートでセルが編集されたときに自動で実行される関数です。

function onEdit(e) {
  // 編集されたときに動く処理
}

ここで登場する (e)。
これは、編集に関する情報が入った「イベントオブジェクト」と呼ばれるものです。

「どのセルが?」「どんな値に?」「どのシート?」など、
編集の詳細がこの e にすべて詰まっています。


🧠 eの中にはこんな情報が入ってます(ざっくり)

  • e.range:編集されたセルの位置(Rangeオブジェクト)

  • e.value:編集後の値

  • e.oldValue:編集前の値(条件付きで取得)

  • e.source:編集が起きたスプレッドシート全体

  • e.authMode:実行時の権限タイプ(BASIC など)

これらを利用すると、

  • 特定の列や行だけに反応させる

  • 入力された値によって処理を分ける

  • 編集履歴を記録する

といった「ちょっと便利な自動化」が実現できます。


🔍 Logger.log() の使い方と注意点

開発中に e の中身を確認するには Logger.log() を使います。

function onEdit(e) {
  Logger.log(e);
}

▶️ ログを見る手順

  1. 「拡張機能」→「Apps Script」でスクリプトエディタを開く

  2. 「表示」→「ログ」をクリック

  3. スプレッドシートでセルを編集し、ログを確認!

💡 Ctrl + Enter(または ⌘ + Enter)でログをすばやく開けます


⚠️ 注意:onEdit(e)は「▶️」で直接実行しても動きません!

onEdit(e) はスプレッドシートの実際の編集でしか動きません。
スクリプトエディタから直接▶️ボタンで実行しても、e が渡されないので何も起きません。


👆「eの中身」を手軽に試したいときは?

テスト関数を使えば、手で編集しなくても onEdit の動作を確認できます。


🧪 テスト関数の作り方(onEdit を手動で呼び出す)

function onEdit(e) {
  Logger.log(e); // ← onEditの中でログを出力
}

function testOnEdit() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const range = sheet.getRange("B2"); // B2にあらかじめ値を入れておく
  const e = {
    range: range,
    value: range.getValue()
  };
  onEdit(e); // ← onEdit に「編集されたふり」をさせる
}

▶️ 実行手順

  1. B2セルに「テスト」など何か文字を入力しておく

  2. スクリプトエディタで関数を testOnEdit に切り替える

  3. ▶️ 実行ボタンをクリック

  4. 「表示」→「ログ」で e の中身を確認!

✅ この方法なら、本番と同じ onEdit() の挙動をログ付きで試すことができます。


💬 補足:testOnEdit の目的

このテスト関数は、onEdit に「編集されたふり」をさせることで、
中にある処理が正しく動くか試す
ためのサポート関数です。

実際の動作は「スプレッドシートを手で編集したとき」に自動で行われますが、
開発中に確認したいときはこのように「手動で呼び出す」方法が便利です。


🔜 次回:eの中身をじっくり見てみよう

次回は、e.range でセルの行・列を取得したり、
e.value / e.oldValue の違いを実際に確認したり、
onEditで**よくある「うまく動かない原因」**にも触れていきます。


📚 onEdit(e)入門シリーズ(随時更新)

  • 【#1】「e」ってなに?自動実行のしくみをのぞいてみよう(この記事)

  • 【#2】eの中身をログで見てみよう(近日公開)

  • 【#3】特定の列や値だけに反応させるには?(予定)

  • 【#4】onEditでつまずくポイントと対処法(予定)


🙌 最後に…

「なんとなく使ってたけど、eってこういうものだったのか!」
そう思ってもらえたら、スキやフォローで応援してもらえるととても励みになります😊

次回もぜひお楽しみに!

いいなと思ったら応援しよう!

毎日をちょっとラクにするGASの話 応援ありがとうございます!いただいたチップは、学習代として、次の記事づくりのエネルギーにさせていただきます☕✍️ これからも「毎日をちょっとラクにするGAS術」を発信していきます!