Есть гугл таблица которая выгружает в гугл календарь события, из гугл календаря так же можно выгрузить данные в гугл таблицу.
Вопрос: Как в гугл таблице добавить столбец в котором я указываю количество дней через сколько должно прийти уведомление в гугл календарь о начале выполнения задачи. Например: дата начала 10.01.2026, дата окончания 15.01.2026. Я добавляю столбец например ставлю в нем 3 и у меня в гугл календаре придет уведомление 12.01.2026 что нужно начинать выполнять задачу. Для следующего события я могу поставить например 5 дней и т.д.
Мой скрипт:
function calendarimp () {
var cal=CalendarApp.getCalendarById("prohousekd@gmail.com");
var spreadsheet = SpreadsheetApp.getActive();
var teklist = spreadsheet.getSheetByName('Календарь');
var table = SpreadsheetApp.getActiveSpreadsheet().setActiveSheet(teklist);
spreadsheet.getRange('A5:E1000').activate();
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
var datn = table.getRange(1,1).getValue();
var datk = table.getRange(1,2).getValue();
var dann = cal.getEvents(datn,datk);
for (var i=0; i<dann.length;i++){
var title = dann[i].getTitle();
table.getRange(i+5,3).setValue(title);
var vrn = dann[i].getStartTime();
table.getRange(i+5,1).setValue(vrn);
var vrk = dann[i].getEndTime();
table.getRange(i+5,2).setValue(vrk);
var loc = dann[i].getLocation();
table.getRange(i+5,4).setValue(loc);
var prim = dann[i].getDescription();
table.getRange(i+5,5).setValue(prim);
var povtor = dann[i].isRecurringEvent();
table.getRange(i+5,6).setValue(povtor);
}
}
function calendarexp () {
var cal = CalendarApp.getCalendarById("prohousekd@gmail.com");
var spreadsheet = SpreadsheetApp.getActive();
var teklist = spreadsheet.getSheetByName('Календарь');
var table = SpreadsheetApp.getActiveSpreadsheet().setActiveSheet(teklist);
var datn = table.getRange(1,1).getValue();
var datk = table.getRange(1,2).getValue();
var dann = cal.getEvents(datn,datk);
for (var i=0; i<dann.length;i++){
dann[i].deleteEvent();
}
var dlinna = table.getLastRow();
for (var i=5; i<dlinna+1;i++){
var title = table.getRange(i,3).getValue();
var datn = new Date(table.getRange(i,1).getValue());
var datk = new Date(table.getRange(i,2).getValue());
var mesto = table.getRange(i,4).getValue();
var primech = table.getRange(i,5).getValue();
cal.createEvent(title,datn,datk,{location:mesto,description:primech});
}
}
function openCalendar() {
var url = "https://calendar.google.com/";
}
Дата начала Дата окончания Мероприятие Место Описание