Как мне создать функцию, которая возвращает время последнего изменения ячейки?
Я хочу написать функцию для скрипта Google Sheets, которая принимает ссылку на ячейку и выводит дату последнего изменения ячейки. Я не знаю, с чего начать.
1 ответ
Нет прямого способа получить точную дату редактирования ячейки.
Способ 1
Получить modifiedTime
используя Drive API Files:get
который вернется, согласно документации:
Последний раз, когда файл был кем-либо изменен (дата и время RFC 3339).
Способ 2
Вместо этого вы можете использовать onEdit(e)
запускать и отслеживать каждое изменение в конкретной ячейке.
Так, например, учитывая, что ячейка, которую вы хотите проверить, это A1
, вы можете использовать этот фрагмент:
Фрагмент
function onEdit(e) {
if (e.range.getRow() == 1 && e.range.getColumn() == 1) {
var date = new Date();
console.log(date);
}
}
Объяснение
Вышеупомянутая функция является onEdit
триггер, который срабатывает каждый раз, когда на листе делается правка. Поскольку вы хотите проверить это для конкретной ячейки, объект событияe
был использован для получения row
и column
ячейки, которая была отредактирована. Следовательноif
условие в этой ситуации проверяет, row
равно 1
а столбец равен 1
(диапазон, соответствующий A1
ячейка) и на основе этого возвращает текущую дату, которая в данной ситуации соответствует внесенному редактированию.
Чтобы отслеживать все изменения для ячейки, вы можете сохранить date
переменные, полученные в результате редактирования массива, и впоследствии использовать их по своему усмотрению.
Заметка
Принимая это во внимание, вы не сможете получить время ячейки, которая была отредактирована до того, как триггер будет установлен.