У меня есть скрипт, который будет записывать дату и время в столбец 14, когда ячейка в столбце 4 имеет текст «Назначить». Проблема, с которой я сейчас сталкиваюсь, заключается в том, что столбец 14 не изменится, если я не добавлю непосредственно «Назначить» в столбец 4.
Например: я указываю ячейку 4 в столбце электронных таблиц 4 = I4, и у меня есть текст «Назначить» в I4, в столбце 14 не отображается текущая дата и время.
В тот момент, когда я вручную сделаю в столбце 4 ячейку 4 «Назначить», в столбце 14 будет отображаться время даты.
Скрипт работает на редакторе, может в этом проблема? Я новичок в скрипте Google Apps.
function onEdit(e) {
var sh = e.source.getActiveSheet();
var col = e.range.getColumn();
var val = e.range.getValue();
//check if sheet is 'Blad1', column edited is 'C' & value is 'assign'
if (sh.getSheetName() === 'Blad1' && col === 4 && val === 'Assign') {
var row = e.range.getRow();
var tz = e.source.getSpreadsheetTimeZone();
var date = Utilities.formatDate(new Date(), tz, 'dd-MM-yyyy hh:mm:ss');
//set date in column 14 for same row
sh.getRange(row, 14).setValue(date);
}
}
Сценарий работает только тогда, когда я непосредственно помещаю текст в столбец 4. Я хочу, чтобы сценарий работал всякий раз, когда ячейка в столбце 4 изменяется на «Назначить».
P.S. Spreadsheet получит новые данные из программы, которая называется app sheet. Когда лист приложения меняет столбец 4 на «Назначить», мне нужно показать текущее время.