В этом уроке мы подробно поговорим об импорте данных из Календаря Гугл.
На моем канале уже есть подобный урок, но по нему было много вопросов.
Поэтому я решил выпустить еще одно видео, в котором более подробно рассказываю о том, как импортировать данные из Google календаря.
В этом уроке мы научимся связывать Гугл таблицу с Гугл календарём.
Я подробно расскажу о принципах работы с гугл календарём о том, на что следует обратить особое внимание при работе с ним.
Для того, чтобы импортировать данные из Гугл календаря нужен небольшой скрипт. О том как его создать смотрите в видео.
Этот скрипт позволит импортировать из Гугл календаря те данные, которые Вам нужны: заголовок, время начала и конца мероприятия, адрес, примечания и тд. и т.п.
Вы можете скачать файл с образцом, который содержит скрипт для работы с Гугл календарем по ссылке
https://docs.google.com/spreadsheets/d/1kiP8pOH4uOaXLSQPIO-7viNla43ocxS-6_qDhv-ICYM/edit?usp=sharing
Не забудьте сделать копию из данного файла.
Обратите внимание, что Вам нужно поменять ID календаря, указанный в скрипте на Ваш
Скрипт, который мы используем
function calendarimp() {
var cal = CalendarApp.getCalendarById(«howeasier@gmail.com»);
var spreadsheet = SpreadsheetApp.getActive();
var teklist = spreadsheet.getSheetByName(‘Лист2’);
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++){
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);
}
}
Посмотрите видео
Разбор скрипта
Скрипт, который мы используем
function calendarimp() { — НАЧАЛО ФУНКЦИИ
var cal = CalendarApp.getCalendarById(«howeasier@gmail.com»); — СВЯЗЫВАЕМ ПЕРЕМЕННУЮ С КОНКРЕТНЫМ КАЛЕНДАРЁМ
var spreadsheet = SpreadsheetApp.getActive(); — ПРИСВАЕВАЕМ ПЕРЕМЕННОЙ ДАННЫЕ ОБ ОТКРЫТОЙ КНИГЕ
var teklist = spreadsheet.getSheetByName(‘Лист2’); — ПРИСВАЕВАЕМ ПЕРЕМЕННОЙ ИМЯ НУЖНОГО ЛИСТА
var table = SpreadsheetApp.getActiveSpreadsheet().setActiveSheet(teklist); — УСТАНАВЛИВАЕМ АКТИВНЫМ НУЖНЫЙ ЛИСТ
var datn = table.getRange(1,1).getValue(); — ПРИСВАЕВАЕМ ПЕРЕМЕННОЙ ДАННЫЕ ИЗ ТАБЛИЦЫ 1 СТРОКА, ПЕРВЫЙ СТОЛБЕЦ (ДАТА НАЧАЛА)
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(); — ПРИСВОЕНИЕ ПЕРМЕННОЙ i-ТОГО ЗНАЧЕНИЯ ПЕРЕМЕННОЙ (ЗАГОЛОВОК)
table.getRange(i+5, 3).setValue(title); — ВЫВОД В ЯЧЕЙКУ В i+5Ю СТРОКУ И 3 СТОЛБЕЦ ЗАГОЛОВКА
var vrn = dann[i].getStartTime(); — ПРИСВОЕНИЕ ПЕРМЕННОЙ i-ТОГО ЗНАЧЕНИЯ ПЕРЕМЕННОЙ (ВРЕМЯ НАЧАЛА)
table.getRange(i+5, 1).setValue(vrn); — ВЫВОД В ЯЧЕЙКУ В i+5Ю СТРОКУ И 1 СТОЛБЕЦ ВРЕМЕНИ НАЧАЛА
var vrk = dann[i].getEndTime(); — ПРИСВОЕНИЕ ПЕРМЕННОЙ i-ТОГО ЗНАЧЕНИЯ ПЕРЕМЕННОЙ (ВРЕМЯ ОКОНЧАНИЯ)
table.getRange(i+5, 2).setValue(vrk); — ВЫВОД В ЯЧЕЙКУ В i+5Ю СТРОКУ И 2 СТОЛБЕЦ ВРЕМЕНИ ОКОНЧАНИЯ
var loc = dann[i].getLocation() — ПРИСВОЕНИЕ ПЕРМЕННОЙ i-ТОГО ЗНАЧЕНИЯ ПЕРЕМЕННОЙ (МЕСТО ПРОВЕДЕНИЯ)
;table.getRange(i+5, 4).setValue(loc); — ВЫВОД В ЯЧЕЙКУ В i+5Ю СТРОКУ И 4 СТОЛБЕЦ МЕСТА ПРОВЕДЕНИЯ
var prim = dann[i].getDescription(); — ПРИСВОЕНИЕ ПЕРМЕННОЙ i-ТОГО ЗНАЧЕНИЯ ПЕРЕМЕННОЙ (ПРИМЕЧАНИЕ)
table.getRange(i+5, 5).setValue(prim); — ВЫВОД В ЯЧЕЙКУ В i+5Ю СТРОКУ И 5 СТОЛБЕЦ ПРИМЕЧАНИЯ
} — ПРИЗНАК ОКОНЧАНИЯ ЦИКЛА
} — КОНЕЦ ФУНКЦИИ