2012 年 7 月 1 日 日曜日
以下のような表において、それぞれの行が更新されるたびに、行末尾に更新日時を挿入するサンプルスクリプト。
function insertLastUpdated() {
var sheet = SpreadsheetApp.getActiveSheet();
var currentRow = sheet.getActiveCell().getRow();
if(currentRow>1){
sheet.getRange('C' + currentRow).setValue(new Date());
}
}
行3:更新日時を挿入する場所を判断するため、あらかじめアクティブセル(カーソルがあたっているセル)の行番号を取得している。
行4:ヘッダー行には挿入しないので、条件分岐。
行5:値をセットする場合は、まず対象となるセルの範囲をRangeオブジェクトとして取得してから、そのオブジェクトに対してsetValue()する。ここでは、new Date()をセットすることにより、現在の日時をセットしている。
「リソース » 現在のスクリプトのトリガー」でトリガーの設定ダイアログを表示し、今回作成したメソッドをonEditイベントで実行するようにする。
こうすることにより、セルの値が書き換えられるたびに、更新のあったセルの行番号を特定し、その位置に対して更新日時を挿入している。
このエントリーのトラックバックURL:
http://www.bmoo.net/archives/2012/07/314153.html/trackback
[…] [GAS][スプレッドシート]行ごとに更新日時を挿入するには : 逆引きGoogle Apps … […]