Google Таблицы. Урок 85. Импорт данных из Google Календарь. Интеграция Таблицы с Google Календарь
Вставка
- Опубліковано 12 жов 2020
- Google Таблицы. Урок 85. Импорт данных из Google Календарь. Интеграция Таблицы с Google Календарь
В этом видео уроке я расскажу как импортировать данные из Гугл календаря в таблицу. Как связать Гугл календарь и Гугл таблицу. Мы напишем небольшой скрипт, который будет импортировать события из определенного Google календаря
Текст скрипта, как обычно в комментариях
Смотрите мои уроки по Гугл таблицам, подписывайтесь на мой канал и ставьте лайки.
Посетите наш сайт: e-sdelano.ru
Наш канал в Яндекс Дзен: zen.yandex.ru/sdelano
Этот канал есть и на RUTUBE: rutube.ru/channel/23934103/
Подписывайтесь на Телеграм (@esdelano): t.me/esdelano
Буду рад любым пожертвованиям на поддержку канала yoomoney.ru/to/41001252667153
function calendar() {
var cal = CalendarApp.getCalendarById("howtomakeiteasier@gmail.com");
var table = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var datn = table.getRange(1,1).setNumberFormat("mm/dd/yyyy h:mm:ss AM/PM");
var datk = table.getRange(1,2).setNumberFormat("mm/dd/yyyy h:mm:ss AM/PM");
datn = table.getRange(1,1).getValue();
datk = table.getRange(1,2).getValue();
var dann = cal.getEvents(datn, datk);
for (var i=0; i
👍
А если нужно брать данные из нескольких календарей?
Тема скриптов - очень интересна.
Ок. Спасибо.
Уроки со скриптами собрал в отдельном плейлисте
Привет, Большое спасибо за видео очень помогло
Если не сложно подскажите в каком видео вы обьясняли про кнопки, не могу найти
Спасибо за ранее
Спасибо за видео! не вАлуе, а вЭлью
Спасибо за отзыв. Согласен. С английским беда.
Добрый день, сделала всё по видео, запустила всё ок. Но когда зашла в таблицу там ничего не изменилось. Остались лишь оглавления прописанные вручную до написания скрипта.
Подскажите в чём может быть проблема?
Добрый день. Скрипт полностью правильный, также добавила кнопку, но когда на нее нажимаю ничего в таблице не прогружается . Почему может быть так?
Добрый день! Большое спасибо за скрипт, то что искала! Но есть потребность собирать информацию по разным почтам, можно ли сделать как с датами, чтобы почта бралась из ячейки? и если возможно, то как это прописать в скрипте?
Заранее спасибо!
Спасибо вам за скрипт, у меня получилось почти все) одна проблема: я прописала в скрипте столбцы (2;4;6;7;…), но почему-то в таблице они тупо по порядку идут, начиная с 1го столбца.. в чем может быть проблема? Спасибо Вам еще раз
Здравствуйте!
У вас планируется выпуск видео, как сделать чат-бот для Телеграм в Гугл таблицах?
Да. Планирую, но пока не дошел до этого
Добрый день!
Все прекрасно работает по вашему шаблону, но не могу сообразить, как получить в таблице ссылку на файл, который прикреплен к календарю в описании. Можете с этим подсказать?
Аналогичный вопрос ))
Обязательно посмотрю и сделаю урок по этой теме
Здравствуйте
Спасибо за полезный контент
Подскажите, пожалуйста, какой командой выгрузить комментарии участников?
Добрый день!
Спасибо за отзыв.
Можно любой функцией, либо SORT (заодно отсортировать, например по алфавиту, дате и тд), либо FILTER (заодно убрать например пустые ячейки)
@@esdelano, прошу прощения, я не поняла, что именно нужно сделать
Добавить "var srt= dann[i].getSort;"?
Добрый день-)
До установки дат на листе скрипт получался. Действовал пошагово. Ошибался но...получалось.
Сейчас когда вставил даты в американском стандарте и добавил изменения в скрипте...
Уперся в подчеркивание ошибки переменных
var datn
var datk
именно так подчеркивает редактор скриптов.
Буду рад за подсказку
Добрый день!
Проверьте правильность написания форматы. В предыдущей строке ";" не пропущена?
Ещё проверьте, что из ячеек вы берете именно дату, а не число
@@esdelano куда скрин сбросить?
Можно на почту, в описании канала
Здраствуйте, каким образом в видео на 21:58 у Вас получилось сделать что бы в ячейке В1 отображалась американская система и в это же время в строке Fx была наша система дат и времени?
Добрый день. Американский формат нужен только для обращения к календарю. Переводим ячейки к этому формату командой в скрипте setnumberformat, строки 10 и 11 скрипта.
А дальше, там где нам нужно (куда мы выводим данные) мы можем использовать тот формат, который нам нужен. Через меню таблицы мы можем установить любой (полный, краткий и тд)
@@esdelano В календаре событие начинается в 9:00, а в таблицу выгружает 10:00, и везде идет смещение в +1 час. Часовой пояс +2 Киев. Подскажите, пожалуйста, как сделать что бы выгружало точно как в календаре по времени?
Вы знаете, проще поступить следующим образом: скриптом отнимите этот лишний час и не мучайтесь.
@@esdelano Спасибо большое!
На здоровье
Здравствуйте! Спасибо за урок. А можно выгружать данные из гугл.календаря в гугл.таблицу в виде расписания с закрашенными блоками?
То есть тот же календарь в виде таблицы в гугл.таблице из гугл.календаря, где в шапке -- дни недели, а в названиях строк -- время. И когда вбиваешь событие в гугл.календарь, то в гугл.таблице закрашивается ячейка, между соответсвующим днём (названием в шпаке) и временем (названием строки)
Вероятно это можно сделать через условное форматирование
@@esdelano а это возможно сделать через скрипт?
Эта проблема у многих: не получается совместить формат таблицы с календарем. Формат даты в гуглтаблице живет своей жизнью. В ячейке А1 меняет на свое усмотрение, в ячейке В1 формат меняет, а запись на экране остается прежней. После запуска скрипта выбивает ошибку и формат ячейки слетает.
Все просто и понятно, вроде, даже для новичков. Но, как только попытались повторить "чудо-импортирование", натолкнулись на трудности.. "Сведения о сообщении Exception: Параметры (String,String) не соответствуют сигнатуре метода CalendarApp.Calendar.getEvents." Подскажите, что могло быть сделано не так? Наш Календарь полон событий (ежедневно от 10 шт). Задача: импортировать все заголовки мероприятий в таблицу за 1 неделю , где строки - стандартное время : 9:00, 10:00, 11:00 и т.п., а столбцы - дни недели: Понедельник-Воскресенье. Больше ничего не требуется. Сделали попытку воспользоваться Вашим готовым скриптом (для пробы только на 1 день), из переменных оставив только var title = dann[i].getTitle(); И здесь застряли...
Добрый день! Возможно у вас ошибка в описании переменной dann.
Попробуйте использовать мой скрипт один в один.
И ещё: обратите внимание как задаются даты (в американском формате)
@@esdelano
Не могли бы Вы проверить, пожалуйста:
function calendar() {
var cal = CalendarApp.getCalendarById("ccssckr@gmail.com");
var table = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var datn = table.getRange(1,1).setNumberFormat("mm/dd/yyyy h:mm:ss AM/PM");
var datk = table.getRange(1,2).setNumberFormat("mm/dd/yyyy h:mm:ss AM/PM");
datn = table.getRange(1,1).getValue();
datk = table.getRange(1,2).getValue();
var dann = cal.getEvents(datn,datk)
for (var i=0; i
вы смогли разобраться с проблемой?
Добрый день! Скрипт работает исправно. Возьмите его один -в-один, а затем уже по шагам пробуйте модифицировать.
Отправил вам на почту скрипт
Добрый день у меня с 3й по остальные стобцы ( в яцейках пишет слово "function () { [native code] }"
Добрый день.
У меня несколько календарей, можно ли их собрать в одну таблицу?
Добрый день!
Конечно можно.
В скрипте последовательно поивязываетесь к разным календарям и загружается от туда данные
07:01 с этого момента никак не получается. прописываю строку как у вас, выдает ошибку
Как синхронизировать календар на телнфоне и компе?
Здравствуйте.
В строке
var dann = cal.getEvents(datn, datk);
выдает ошибку
Ошибка
Exception: The parameters ((class),String) don't match the method signature for CalendarApp.Calendar.getEvents.
calendar @ Код.gs:12
Добрый день!
Проверьте, правильно ли у Вас определены переменные datn и datk
@@esdelano исходник взял ваш. Поменял только идентификатор календаря
Проверьте, что в таблице стоят именно даты в указанных ячейках
Вот так - var dann = cal.getEvents(new Date(datn), new Date(datk));
Зачем публиковать нерабочие скрипты?????????👎👎👎👎👎👎👎👎
Спасибо за отзыв! Проверьте правильность написания скриптов
Когда столкнулся с ошибкой
Exception: The parameters (String,String) don't match the method signature for CalendarApp.Calendar.getEvents.
calendar @ Код.gs:11
пришлось поколдовать :) var dann = cal.getEvents(new Date (datn), new Date (datk));
Когда она у меня устранилась, то перестало все выводиться в таблицу.
Оказалось что у меня несколько листов, и пришлось обращаться к конкретному листу var table = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Календарь");
Название листа естественно пишите свое :)
Ошибка
Exception: The parameters (String,String) don't match the method signature for CalendarApp.Calendar.getEvents.
calendar @ Код.gs:11
Выдал ошибку, не знаю что это может быть код точь в точь