特定のヘッダの列に日時を入力したくて書いたコード
この記事でやること
- ヘッダの値を見て、dateならその列に日時を入力する
日時を入力する条件
- dataの列が編集された時は入力しない
- 1行目が編集された時は入力しない
コード.gs
function onEdit() {
var header = "date";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range = sheet.getActiveRange();
var row = range.getRow();
var col = range.getColumn();
var date = new Date();
set_value(sheet, row, col, date, header)
}
function set_value(sheet, row, col, value, header) {
var headers = get_headers(sheet)[0];
var targetCol = headers.indexOf(header) + 1;
if(col !== targetCol && row > 1){
sheet.getRange(row, targetCol).setValue(value);
}
}
function get_headers(sheet) {
var last_col = sheet.getLastColumn();
var range = sheet.getRange(1, 1, 1, last_col);
var headers = range.getValues();
return headers;
}
|
関連記事
