プログラミング フロントエンド

【GAS】特定のセルや行が編集された時のみ処理を行いたい

スポンサーリンク

こんにちは!

今回は「GASにおいて特定のセルや行が編集された時のみ処理を行う方法」についてお伝えしたいと思います。

僕が調べた限りですが、トリガーレベルで設定できることはできず、編集されたセルを判別して処理を行うようにしました。

e.range.getColumn()とe.range.getRow()を使って編集されたセルを判別する

編集された列や行を取得して、対象かどうか判別するイメージです。

編集された列や行を取得

編集された列を取得:e.range.getColumn()

編集された行を取得:e.range.getRow()

実際に具体例を用いて説明いたします。

const onChangeCell = (e) => {
  // (2,3)のセルが編集されたときだけ、処理を行う
  const targetColumn = 2;
  const targetRow = 3;
  const selectedColumn = e.range.getColumn();
  const selectedRow = e.range.getRow();

  if (
    targetColumn === selectedColumn &&
    targetRow === selectedRow
  ) {
    // 処理
    // ・・・
  };
};

これで特定のセルが編集されたときのみ、処理を行うことができます。
トリガーは「編集時」に呼ばれるように設定します。

注意点として、何も処理しない場合でもGASの無料枠を使ってしまうので、お気をつけください〜。

以上、お疲れさまでした〜🍵

スポンサーリンク

-プログラミング, フロントエンド

© 2022 エンジニア×ライフハック Powered by AFFINGER5