В Apps Script вы можете настроить триггер onEdit
, который извлекает имя пользователя редактора и ячейку, в которой было сделано изменение;но вы должны иметь в виду, что могут быть случаи, когда имя пользователя не может быть восстановлено (в основном, если пользователь не принял области действия скрипта), вы можете узнать больше об этих ситуациях на getActiveUser
документы.
Вы можете достичь того, что запрашиваете, с помощью следующей функции. Он будет использовать объект события , чтобы проверить, было ли сделано изменение в столбце G, и, если это было так, будет записано электронное письмо пользователя (или Unknown
, если области не были приняты)в столбце B той же строки.
function onEdit(e) {
var range = e.range;
var editor = e.user.getEmail();
if (editor == '' || editor == null) {
editor = 'Unknown';
}
if (range.getA1Notation().search('G') != -1) {
range.offset(0, -5).setValue(editor);
};
}
После сохранения этой функции вам потребуется создать устанавливаемый триггер . Для этого перейдите на Edit ? Current project's triggers
. После этого нажмите + Add Trigger
и заполните следующие параметры:
- Выберите, какую функцию запустить: onEdit
- Выберите, какое развертывание следует запустить: Head
- Выберите событиеисточник: из электронной таблицы
- Выберите тип события: при редактировании
- Настройки уведомления о сбое: по вашему желанию
После сохранения триггера вы можете протестировать функцию самостоятельно, изменивячейка в столбце G. Пожалуйста, не стесняйтесь спрашивать о моем ответе или самом коде.