Я хочу написать функцию для скрипта Google Sheets, которая принимает ссылку на ячейку и выводит дату последнего изменения ячейки. Я не знаю, как начать.
Как создать функцию, которая возвращает время последнего изменения ячейки?
Ответы (1)
Нет прямого способа получить точную дату редактирования ячейки.
Способ 1
Получите modifiedTime
с помощью Files:get
Drive API, который вернет, согласно документации:
Время последнего изменения файла кем-либо (дата-время 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
переменных, полученных в результате редактирования, в массив и в конечном итоге использовать его впоследствии по своему вкусу.
Примечание
Принимая это во внимание, вы не сможете получить время ячейки, которая была отредактирована до срабатывания триггера.