Я пытаюсь воспроизвести простой пример onEdit()
для таблиц Google из этого видео:
https://www.youtube.com/watch?v=L1_nIhiVc5M&list=PLJnkyVAO-LM6VAUetaNIvwADp0XF-LlrE&index=85
У меня есть электронная таблица и скрипт, привязанный к ней. Я предоставил скрипту доступ к электронной таблице. Скрипт имеет следующий код:
function onEdit(e) {
Logger.log("something was edited " + e.old_value);
}
Когда я редактирую что-то в электронной таблице, функция выполняется, но e
не определена. Вот так выглядит результат выполнения в stackdriver:
Stackdriver_screenshot:
Что я делаю не так?
1 ответ
Ответ:
Параметр объекта события, к которому вы пытаетесь получить доступ, — e.oldValue
, а не e.old_value
.
Дополнительная информация:
Согласно документации для объектов событий:
oldValue : значение ячейки до изменения, если таковое было. Доступно, только если отредактированный диапазон представляет собой одну ячейку. Будет неопределенным, если в ячейке не было предыдущего содержимого.
Так что в этом случае вы можете исправить это простым изменением кода:
function onEdit(e) {
Logger.log("something was edited " + e.oldValue);
}
Ссылки:
Похожие вопросы
Новые вопросы
google-apps-script
Используйте для вопросов о Google Apps Script, серверной платформе Google для облачных сценариев на основе Javascript для автоматизации задач в продуктах Google и сторонних службах. Используйте в дополнение к релевантным тегам продукта (например, [google-sheets], [google-docs]) или API (например, [google-drive-api]), где это применимо.
e
нет свойстваold_value
. См. информационную страницу тега официальную документацию или посмотрите свое видео еще раз.