GAS:更新したセルに更新日付をメモする

Google App Script

Googleスプレッドシート上でセルを更新した場合は、onEditイベントが発生する。
これを利用して、更新したセルに更新日付をメモするGoogle Apps Scriptの例を紹介する。

// セルが更新されたとき更新したセルに更新日付をメモする
function onEdit(e){
  // 更新されたセル
  const range = e.range;
  // 更新セルの文字列を取得
  const cellValue = range.getValue();

  // 更新セルの文字列が空でないときは更新日時をメモにセット
  if(cellValue == ""){  // セルの文字列が空の場合
    range.clearNote();
  }
  else{                 // セルの文字列が空でない場合
    range.setNote("最終更新日時:" + new Date());
  }
}

もし更新したユーザ名もメモに表示させたいなら、range.setNoteの行を以下のようにする。

range.setNote("最終更新日時:" + new Date() + String.fromCharCode(10) + "更新ユーザ:" + e.user);

ちなみに String.fromCharCode(10) は、メモ内で改行しているだけです。

上記のスクリプトでは、更新したセルが空なら(要するにセル内容を消去したら)メモも消去するようにしていますが、セルの内容にかかわらず更新したらメモするには、if文をなくして以下のようにすれば大丈夫です。

// セルが更新されたとき更新したセルに更新日付をメモする
function onEdit(e){
  // 更新されたセル
  const range = e.range;

  // 更新日時をメモにセット
    range.setNote("最終更新日時:" + new Date());
  }
}

コメント

タイトルとURLをコピーしました