Продолжаем работать с Гугл календарь.
Прошлый урок был посвящен импорту записей из Гугл календаря.
В этом уроке по Гугл таблицам мы поговорим об экспорте данных в Гугл календарь. Экспортировать данные в Google Calendar достаточно просто. Мы напишем небольшой скрипт для экспорта данных из электронной таблицы в гугл календарь.
Вы можете скачать файл со скриптом для экспорта данных в Гугл календарь по ссылке
https://docs.google.com/spreadsheets/d/15FsNgRsaRJ3hcEnRuamSD4S_TM9ErDVDU7Ztj0cKCso/edit?usp=sharing
Обратите внимание, что нужно обязательно сохранить копию моего файла, а так-же поменять логин от своего календаря
Посмотрите видео, в котором я рассказываю про экспорт данных в Google Calendar.
Скрипт, который мы используем для экспорта данных
function calendarexp() {
var cal = CalendarApp.getCalendarById(“howeasier@gmail.com”);
var spreadsheet = SpreadsheetApp.getActive();
var teklist = spreadsheet.getSheetByName(‘Лист2’);
var table = SpreadsheetApp.getActiveSpreadsheet().setActiveSheet(teklist);
var dlinna = table.getLastRow();
for (var i=10; i<dlinna+1;i++){
var title = table.getRange(i,3).getValue();
var datn = table.getRange(i,1).getValue();
var datk = 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 calendarexp() { – начало функции, ее описание
var cal = CalendarApp.getCalendarById(“howeasier@gmail.com”); – связываем переменную cal с нашим календарем. Вместо howeasier@gmail.com нужно указать адрес своего, нужного, календаря
var spreadsheet = SpreadsheetApp.getActive(); – присваиваем переменной имя открытой книги с таблицей
var teklist = spreadsheet.getSheetByName(‘Лист2’); – назначаем переменной имя листа, с которым нужно работать. Тот лист с которого будут браться данные для экспорта
var table = SpreadsheetApp.getActiveSpreadsheet().setActiveSheet(teklist); – назначаем (активируем) нужный нам лист
var dlinna = table.getLastRow(); – назначаем переменной число, равное количеству заполненных строк в нашей таблице. т.е. определяем номер последней строки, в которой есть данные
for (var i=10; i<dlinna+1;i++){ – Назначаем цикл от 10 (т.к. в нашем примере данные для записи в календарь начинаются с 10-ой строки) до последней заполненной строки (ее номер мы определили на предыдущем этапе)
var title = table.getRange(i,3).getValue(); – берем данные из i-той строки и 3-его столбца и присваиваем переменной (Название мероприятия)
var datn = table.getRange(i,1).getValue(); – берем данные из i-той строки и 1-ого столбца и присваиваем переменной (Время начала мероприятия)
var datk = table.getRange(i,2).getValue(); – берем данные из i-той строки и 2-ого столбца и присваиваем переменной (Время окончания мероприятия)
var mesto = table.getRange(i,4).getValue(); – берем данные из i-той строки и 4-ого столбца и присваиваем переменной (Место проведения)
var primech = table.getRange(i,5).getValue(); – берем данные из i-той строки и 5-ого столбца и присваиваем переменной (Примечания)
cal.createEvent(title,datn,datk,{location:mesto,description:primech}); – Используем функцию создания в календаре нового события. Передаем основные (обязательные) параметры: название, время начала, время конца. Далее, после запятой и в фигурных скобках, следуют вспомогательные (не обязательные) параметры: место проведения, примечания.
} – Закрываем цикл. Цикл у нас будет последовательно брать данные из каждой строки (в нашем случае начиная с 10-ой и до конца таблицы, создавать новые мероприятия. Как таблица будет закончена цикл будет окончен.
} – признак окончания нашей функции. НЕ ЗАБЫВАЙТЕ ставить закрывающие фигурные скобки