Я перепрофилировал этот Google Лист со скриптом, связанным ниже:
https://docs.google.com/spreadsheets/d/1z1EfLPYRze0zWnk729ChCf_kOY-JPEV9dvjCbXHNZDc/edit?usp=sharing
Кто-то ранее поделился этим, и я попытался настроить его для своих нужд , Он отлично работает для отправки напоминаний по электронной почте, когда «Дата отправки» становится действующей. Есть кое-что, что мне нужно сделать, но я не могу понять, потому что у меня нет опыта работы со скриптами / кодом.
Я хотел бы написать скрипт, который нужно добавить в мой текущий Сценарий выполняет следующие действия:
Когда сценарий запускается на листе ежедневно на основе триггера и рассылает напоминания по электронной почте для указанных c строк - он должен обновить столбец 1 этих строк с новой датой, существенно опережая существующие дата по количеству дней в столбце 5 (Дни до следующего напоминания). ((Например, в строке 6 дата 7 февраля 2020 г. - после создания напоминания по электронной почте - к 7 февраля необходимо добавить 180 дней (данные 5 столбца) и обновить 1 столбец с новой датой 5 августа 2020 г .; поэтому лист готов затем отправить следующее напоминание. Если в столбце 5 указано 0-, то он не должен обновлять эту дату и просто оставить строку такой, какая она есть.
И одновременно в столбце 6 - должно обновляться не только «электронная почта отправлена» но с добавленной информацией «в этот день», которая является датой отправки электронного письма.
И, наконец, лист должен быть отсортирован с - самой последней и самой высокой датой в столбцах столбца 1 - сверху и наименьшей датой в внизу.
Я придумал этот дополнительный код, но поскольку я не знаю никакого синтаксиса, он не работает:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
//Get the dates from the cell and convert them into Milliseconds since 1970/01/01
var First = new Date(ss.getRange(row[1]).getValue().getTime();
var dayInMs = 24*60*60*1000 //one day in Milliseconds
//add row days to each date in milliseconds
First = First + ((row[4])*dayInMs)
//Convert Milliseconds to date use new Date(time in ms) and set Values of the cell
ss.getRange(row[1]).setValue(new Date(First));
Как мне продолжить?