Google docs Скрипт автоматического заполнения ячеек
Ниже представлен скрипт автоматического заполнения ячеек первого и второго столбца датой и временем, при изменении ячейки из третьего столбца.
Работает скрипт так:
если обнаружена правка в документе,
проверяем, изменена ли ячейка из третьего столбца и это изменение произведено на листе с названием "Лист1", если да,
проверяем, не пустая ли ячейка из первого столбца (если не пустая, значит дата была уже ранее проставлена, соответственно время и дату не меняем).
если пуста, то
в ячейку первого столбца добавляем дату в формате: год.месяц.день
в ячейку второго столбца добавляем время GMT+03 в формате: час:минуты
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var idCol = e.range.getColumn();
var idRow = e.range.getRow();
if ( idCol == 3 && sheet.getName() =='Лист1' ) {
var Value = e.range.offset(0, -2).getValues(); // Смотрим что в ячейке с лева на 2
if ( Value == "" ) {
var vartoday = getDate();
var varnow = getTime();
sheet.getRange(idRow, 1).setValue( vartoday );
sheet.getRange(idRow, 2).setValue(varnow);
}
}
}
// Returns YYYYMMDD-formatted date.
function getDate() {
var today = new Date();
today.setDate(today.getDate());
//return Utilities.formatDate(today, 'PST', 'yyyy.MM.dd');
return Utilities.formatDate(today, 'GMT+03:00', 'yyyy.MM.dd');
}
function getTime() {
var today = new Date();
today.setDate(today.getDate());
//return Utilities.formatDate(today, 'PST', 'yyyy.MM.dd');
return Utilities.formatDate(today, 'GMT+03:00', 'HH:mm');
}
Нашёл
тут
А также
вот