Как при создании новой строки в таблице заполнить 3 столбец данной строки текущей датой?

Нужно отслеживать дату создания новых строк в документе, как это реализовать с помощью скрипта? Нужно при создании новой строки в таблице заполнить 3 столбец данной строки текущей датой. Хотел сделать сам, но не нашел в api отслеживания события создания строки.
  • Вопрос задан
  • 376 просмотров
Решения вопроса 1
Coolbeat
@Coolbeat
Можно в этот столбец вписывать штамп времени:
function onEdit(event) {
  
  //SETTINGS
  var tsheet = 'Sheet'; //лист на котором ты мониторишь изменения
  var lcol = 1; //номер самого левого столбца, на котором проверяются изменения; A=1, B=2 и т.д.
  var rcol = 2; //номер крайнего правого столбца для проверки
  var tcol = 3; //номер колонки, в которой ты хочешь установить штамп со временем
  //
  
  var s = event.source.getActiveSheet();
  var sname = s.getName();
  if (sname == tsheet) {
    var r = event.source.getActiveRange();
    var scol = r.getColumn();
    if (scol >= lcol && scol <= rcol) {
      s.getRange(r.getRow(), tcol).setValue(new Date().toLocaleDateString());
    }
  }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Oleg_F
Посмотрите onEdit(e) https://developers.google.com/apps-script/guides/t...
При редактировании таблицы сможете получать номер ячейки.
Но onEdit подходит, если таблицу редактирует человек.
Ответ написан
Комментировать
oshliaer
@oshliaer Куратор тега Google Sheets
Google Products Expert
Такого события нет.

И вообще, событийная модель Таблиц - так себе система. Существует два триггера: для события EDIT и CHANGE. При добавлении новой строки будет вызвано событие CHANGE. Вы можете его перехватить соответствующим триггером. Который, к сожалению, ничего особенно умного не вернет. Если только вы не обработаете это событие целиком:
  • Проверите лист
  • Проверите ВСЕ данные на листе
  • Заполните пустые ячейки текущей датой


То еще занятие ...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы