Синхронизация Google Таблицы с Google Календарем

У офисных работников, работающих с Таблицами и Календарем на платформе Гугл Disk рано либо поздно возникает насущная потребность синхронизировать эти два сервиса. Ниже в виде аннотации (а еще ниже в виде инфографики) дается обычный вариант такового решения.

Задачка: Есть Google Таблица с деньками рождения партнеров. Нужно создать так, чтоб мы могли автоматом в Google Календаре иметь напоминания о этих деньках рождения с уведомлением на электрическую почту обладателя Календаря, т.е. на наш e-mail.

Решение: 1) Создаем таблицу дней рождения в Google Таблицах; 2) Пишем скрипт на языке Гугл Apps Script, который считывает таблицу и ретранслирует ее строчки в Google Календарь в виде напоминаний; 3) Рисуем клавишу в интерфейсе Таблиц и задаем ей связь со скриптом; 4) Запускаем скрипт данной нам клавишей.

СОЗДАЕМ ТАБЛИЦУ

ПИШЕМ СКРИПТ

Сохранить код по кнопочке [Save] (изображение дискеты).
Код можно просто способом копирования перенести в редактор.
Некие пояснения:

  • В первой строке бытует имя функции – DR – его можно поменять на другое. Его необходимо уяснить, понадобится ниже.
  • Создается новейший календарь с именованием «Личный_календарь».
  • Если календарь с таковым именованием уже был, то он очищается от всех напоминаний с начала 2019 года по 2030 год.
  • Согласно расписанию дней рождения в Таблице на деньки, даты которых бытуют в 3-ем столбце, в «Личный_Календарь» выставляются напоминания с email-уведомлением.

Желтоватым в коде подсвечены те участки, которые должны будут подвергнуться ревизии при изменении формата таблицы, заложенного в постановке задачки:

i = 1 Единица соответствует 2-ой строке, т.к. в программировании счет начинается с нуля. Т.е., если у вас заголовок будет занимать две строчки, то 1 нужно будет поменять на 2. data[i][0] Это имя. data[i][1] Это фамилия. data[i][2] Это дата рождения. Т.е., если вы изменяете формат и вводите вторым столбцом отчество, сдвигая фамилию и дату на право, то в коде на месте data[i][2] обязано стоять data[i][3], а отчество в виде data[i][1] вставьте опосля имени, а конкретно data[i][0] поменяйте на data[i][0]+” ”+data[i][1]. И прежнюю переменную data[i][1], отвечавшую за фамилию, измените на data[i][2].

Таковым образом, актуализировать расписание Календаря можно в хоть какое время нажатием на клавишу [ДР]. Прежнее содержание календаря «Личный_Календарь» будет стопроцентно заменяться на расписание, которое находится в Таблице.

РИСУЕМ КНОПКУ ДЛЯ СКРИПТА

Для пуска скрипта из интерфейса Таблицы в ней сделаем клавишу:

  1. В меню избрать: Insert > Drawing.
  2. Избрать инструмент Shape.
  3. Нарисовать фигуру, которая для вас нравится. Можно задать на фигуре текст, к примеру, «ДР».
  4. Сохранить по кнопочке [Save and Close].
  5. В Таблице на показавшейся кнопочке надавить на три вертикальные точки – это меню клавиши.
  6. Избрать пункт Assign Script.
  7. Избрать имя функции «DR» (без кавычек и без скобок)
  8. Сохранить [Ok].

Сейчас связь клавиши и скрипта организована.
Позже, при желании поменять имя функции у клавиши, либо отредактировать ее дизайн, либо удалить, нужно надавить на эту клавишу правой клавишей мыши, чтоб узреть священные три вертикальные точки.

ЗАПУСКАЕМ СКРИПТ

  1. Надавить на сделанную клавишу [ДР].
  2. Если это 1-ый пуск, то Гугл запросит разрешение на выполнения скрипта. Отдать это согласие.
  3. Опосля выполнения скрипта зайти в Гугл Календарь.
  4. Узреть слева «Личный_Календарь» в перечне календарей. Но назначенных событий пока не видно в ячейках дней.
  5. Переключить галочку «Личный_Календарь» в перечне календарей. Действия покажутся.

ИНФОГРАФИКА

Специально для визуалов ниже изображено то, что написано выше:

Гугл: Таблицы-Календарь синхронизация: Инфографика

ВАРИАНТЫ ВЫЗОВА ФУНКЦИИ

Скрипт состоит из функций, нередко независящих друг от друга. Вызвать функцию на выполнение можно из иной функции, также независимо, и Google предоставляет 4 варианта такового независящего вызова:

Гугл Apps Script: переносим расписание из таблицы в календарь

Это можно создать, перейдя на страничку собственного Гугл Drive.


Рис. 1. Правый клик мышью по рабочему месту открывает контекстное меню, где необходимо избрать «Гугл Таблицы» — «Сделать пустую таблицу»

В сделанную таблицу необходимо скопировать имеющееся у Вас расписание, в моем случае это расписание занятий в институте. Принципиально, чтоб в таблицы были последующие поля:

  • Заглавие мероприятия
  • Дата мероприятия
  • Время начала
  • Время конца либо продолжительность (вообщем, это необязательно — в итоге вы можете установить какое-нибудь общее дефолтное значение продолжительности мероприятия, к примеру 1 час, либо совсем создать мероприятие, длящимся целый денек)

Вся остальная информация, в моем случае — педагог, тип занятия (лекция, семинар и т.д.), быть может выслана в описание мероприятия.

Интересно почитать:  Как скопировать лист эксель из одного документа в другой


Рис. 2. Таблица с расписанием

2. Создаем скрипт

2.1. Перебегаем в редактор скриптов

Необходимо сделать скрипт, который будет связан с лишь что сделанной таблицей, будет иметь доступ к данным в ней и переносить их в календарь.


Рис. 3. Скрипт создается, через меню «Инструменты», в котором необходимо избрать пункт «Редактор скриптов»

Скрипты разрабатываются на языке JavaScript. Лишь что сделанный скрипт содержит одну пустую функцию myFunction. Писать код можно в ней, но я предпочту отдать ей наиболее осмысленное имя SetCalendar.


Рис. 4. Сделанный скрипт, дадим функции осмысленное имя — SetCalendar

Над редактором кода имеется выпадающий перечень, который дозволяет избрать основную функцию, которая будет являться точкой входа в запущенный скрипт. В нашем случае следуем избрать функцию SetCalendar.

2.2. Разбираемся с отладкой

Нередко для отладки скриптов на JavaScript мы выводим разные значения в консоль:

В Гугл Apps Script логировать значения следует незначительно по другому. Заместо объекта console следует применять глобальный объект Logger:

Опосля пуска скрипта, все выведенные в лог значения можно поглядеть из меню «Вид», выбрав пункт «Журнальчики» либо же по сочетанию кнопок Ctrl+Enter:


Рис. 5. Модальное окно с логами крайнего пуска скрипта

2.3. Извлекаем информацию о мероприятиях из таблицы

Сходу маленькой кусочек кода

Разглядим строчку 11.

Глобальный объект SpreadsheetApp — глобальный объект, содержащий способы, представляющие из себя интерфейс для взаимодействия скрипта с приложением Гугл Sheets.

1-ое, что необходимо создать — получить объект, представляющий активную (открытую в данный момент) страничку документа. Для этого нужно вызвать способ getActiveSheet.

Способ возвращает объект sheet.

Дальше, необходимо получить объект range — он представляет собой спектр ячеек таблицы, из которых мы будем извлекать данные. Это делается методом вызова способа getRange. В качестве характеристик передаются:

  • Индекс первой строчки спектра
  • Индекс первого столбца спектра
  • Количество извлекаемых строк
  • Количество извлекаемых столбцов

Строчка 15: мы получаем из избранного выше спектра ячеек конкретно данные методом вызова способа getDisplayValues.

2.4. Извлекаем данные из ячеек

До этого, чем работать с ячейками, комфортно было бы отдать номерам столбцов имена, чтобы избежать ошибок при указании номеров столбцов с интересующими нас данными. Сделаем для этого несколько констант:

Вы сможете поглядеть какие столбцы стоят в таблице под данными номерами на рисунке 2.

Объект data представляет набор ячеек с данными, которые были получены. Сейчас необходимо получить данные из отдельных ячеек.

Чтоб получить дату-время начала и окончания занятия, необходимо вызывать функцию extractPeriod и передать две строчки — дата и временной период, в который продолжается занятие.

2.7. Создание действия в Гугл Calendar

Сходу маленькой листинг, пояснения будут далее

Строчки 1-6: получаем дату-время начала и окончания занятия, также склеиваем в одну строчку всю доп информацию, которая будет записана в описание мероприятия в календаре.

Дальше, к интерфейсу сервиса Гугл Calendar мы обращаемся через способы глобального объекта CalendarApp.

Средством способа getCalendarsByName мы получаем массив календарей с обозначенным именованием.

Получить объект-календарь можно также средством способа getDefaultCalendar, тогда событие будет сотворено в основном календаре. Но, я советую зайти в веб-версию Гугл Calendar и сделать новейший календарь, в который вы будете экспортировать мероприятия. Во-1-х, вы получаете возможность скрывать действия этого календаря, выделять действия отдельным цветом.

Но, что наиболее принципиально, в случае, если вы при написании скрипта кое-где ошиблись, и экспортировали действия как-то некорректно, то заместо того, чтоб удалять все бессчетные некорректные действия вручную, вы сможете просто удалить календарь, опосля чего же сделать новейший, пустой, и испытать запустить новейший, исправленный скрипт.

В этом случае я сделал календарь «Учеба (совокупность организованных мероприятий, направленных на получение знаний, умений, приобретение опыта)«, и собираюсь создавать действия в нем. Потому в коде вызывается способ getCalendarsByName и в качестве параметра передается срока «Учеба (совокупность организованных мероприятий, направленных на получение знаний, умений, приобретение опыта)«.

Способ возвращает массив календарей с обозначенным заглавием, потому необходимо взять из этого массива один элемент, в нашем случае нулевой:

У объекта-календаря нужно вызывать способ createEvent. В качестве характеристик необходимо передать последующее:

  • Заглавие мероприятия (в данном случае заглавие дисциплины)
  • Объект Data — дата-время начала мероприятия
  • Объект Data — дата-время окончания мероприятия
  • Необязательный параметр — объект с доп опциями (в данном случае я заполняю одно поле — description — это описание мероприятия)

Крайняя строчка в скрипте — задержка на 50 миллисекунд. Во время разработки скрипта и отладки я нашел, что время от времени при выполнении кода выбрасывается исключение, сущность которого в том, что Гугл Calendar не нравятся нередкие воззвания к сервису, и в описании исключения рекомендуется вставить задержку меж вызовами способов API календаря.

Интересно почитать:  Как в эксель суммировать время

3. Итоговый скрипт

Ниже приведен полный скрипт, который вышел

4. Чуть-чуть снимков экрана

Что можно сделать лучше

  • Некие значения в коде я просто захардкодил — к примеру, индексы начала таблицы, размеры таблицы, количество строк (количество мероприятий). На теоретическом уровне, можно покопаться в API Гугл Sheets для Гугл Apps Script и придумать, как выцеплять нужные координаты ячеек автоматом;
  • Я никогда плотно не изучал JavaScript, могут быть разные стилистические и остальные недочеты в коде, может быть этот же парсинг даты-времени можно создать привлекательнее и элегантнее.

Открыт к конструктивной критике, буду рад, если укажете на недочеты, посоветуете что можно сделать лучше, а что поменять в статье.

Как планировать рабочее время и вести учет дел в Excel?

Как планировать рабочее время и вести учет дел в Excel?

Мы нередко страдаем от нехватки времени и перегрузок на работе. Бесплатная программка, изготовленная в Excel, поможет для вас планировать рабочее время и вести учет дел, предсказывать и не допускать перегрузок. В данной нам статье я расскажу, как воспользоваться программкой. В конце текста будет ссылка на файл, который вы можете скачать.

Общее описание программки

Снутри файла Excel находится 32 листа. На первом листе выводится информация о загрузке в определенные деньки, также статистика по практически отработанному времени и времени, которое запланировано на все дела в текущем месяце.

На снимке экрана ниже мы лицезреем, что на 1-ое число запланировано дел на 3 часа 45 минут, на 2-ое число – на 6 часов 20 минут, на 5-ое число – на 8 часов 20 минут.

статистика по задачам на месяц

При всем этом программка автоматом подсвечивает деньки в зависимости от перегрузки:

  • Зеленоватый фон значит, что денек относительно волен. На него можно ставить новейшие дела.
  • Желтоватый фон значит, что денек довольно плотно расписан и новейшие дела стоит добавлять осторожно.

Красноватый фон выводится в случае, если на денек запланировано наиболее 8 рабочих часов. Этот денек перегружен и лучше принять меры, чтоб создать его свободнее.

Максимум в месяце быть может 31 денек, потому на первом листе предвидено 31 поле. Если в месяце не все деньки рабочие либо число дней меньше 31, то часть дней остается пустыми (там будет запланировано 0 часов).

Кроме первого листа «Загрузка», в файле Excel находится 31 вкладка, пронумерованная от 1 до 31 включительно. На этих вкладках находятся формы, в которые можно вводить информацию о запланированных задачках на определенный денек месяца.

Как планировать рабочий денек?

Разглядим для примера вкладку «1», на которой зафиксированы рабочие дела, запланированные на 1-ое число месяца. Для примера в файле уже введены несколько дел, смотрите снимок экрана ниже:

список задач на первое число

На снимке экрана представлены три дела. По каждой задачке можно указать последующую информацию:

  • Описание задачки в случайной форме.
  • Запланированное на выполнение задачки время.
  • Статус задачки – «В работе» либо «Готово». Статусы подсвечиваются, чтоб для вас было комфортно ориентироваться, какие задачки изготовлены, а какие находятся в процессе выполнения.

Практически затраченное на каждую задачку время. Это не непременное поле. Если вы будете его заполнять, то программка будет считать, сколько времени вы отработали по задачкам в месяц.

Понизу таблицы выводится суммарное время по всем запланированным задачкам и суммарное отработанное время. Всего можно добавить до 10 дел на любой денек.

Рабочие задачки и дела на 1-ое число месяца нужно фиксировать на вкладке «1», задачки на 2-ое число – на вкладке «2», на третье число – на вкладке «3» и так дальше.

Чтоб пользоваться планировщиком на последующий месяц, можно очистить в файле информацию по предшествующему месяцу либо снова скачать пустой файл с программкой.

Где скачать файл с программкой?

Файл выложен на Yandex.Диске. Скачать программку для учета рабочего времени и дел можно по данной нам ссылке. Для работы для вас будет нужно установленный на компе Excel.

Если у вас будут какие-либо пожелания либо дополнения, пожалуйста, пишите их в комментах.

Как создать календарь в Гугл Sheets

Если вы желаете применять кандидатуру платным календарным приложениям и службам, вы сможете безвозмездно сделать их в Гугл Sheets. Ах так.

Случайный просмотр хоть какого магазина мобильных приложений, и вы увидите большущее количество доступных приложений календаря. Почти все из которых взимают плату просто за их внедрение либо за доступ к достаточно главным функциям. Оплата (выдача денег по какому-нибудь обязательству) таковой базисной услуги может показаться проблематической, тем наиболее что бесплатные календари просто доступны в Вебе.

Если вы желаете сделать собственный свой календарь, вы сможете создать это при помощи Гугл Sheets. Создание собственного календаря дает для вас еще больший контроль над тем, как ваш календарь смотрится и работает. Вы сможете применять его в Вебе либо распечатать, чтоб применять в качестве настольного календаря с ручкой и бумагой.

Если вы желаете сделать календарь в Гугл Sheets, вот что для вас необходимо создать.

Внедрение шаблона календаря Гугл Sheets

Самый обычной метод сделать резвый и обычной календарь в Гугл Sheets — это применять один из готовых шаблонов, доступных юзерам.

Для этого отчаливайте в Интернет-сайт Гугл Drive— для вас необходимо войти, если вы еще этого не сделали. Опосля того, как вы вошли в систему, нажмите новейший Клавиша слева, чтоб сделать новейший документ.

Избрать Гугл Sheets и парить над > знак.

Выберите Google Sheets и наведите курсор на символ стрелки

Во всплывающем меню изберите Из шаблона.

Выбрать из шаблона

Изберите один из шаблонов календаря — будет сотворен новейший лист, содержащий избранный вами дизайн календаря.

Выбор шаблона календаря в Google Sheets

Создание календаря с нуля

Хоть какой документ, который вы создаете из шаблона, можно редактировать в согласовании с вашими потребностями, но для вас может потребоваться сделать календарь с дизайном, который различается от доступных шаблонов. Если это так, для вас необходимо сделать собственный календарь с нуля.

Добавление дней в пользовательский календарь Гугл Sheets

Для начала откройте пустой документ Гугл Sheets. Для начала для вас необходимо будет указать деньки недельки — изберите исходную ячейку для собственного календаря и введите денек, с которого вы желаете начать.

Изберите ячейку, которую вы лишь что набрали, потом нажмите и удерживайте маленькой квадрат в нижнем правом углу ячейки.

Перетащите курсор по горизонтали либо вертикали, чтоб заполнить доп ячейки деньками недельки. В этом примере мы будем располагать наши деньки недельки вертикально.

Вы сможете продолжить перетаскивание, сколько желаете, если желаете сделать целый месяц либо даже год дат.

Добавление дат в пользовательский календарь Гугл Sheets

Дальше нам необходимо добавить дату. Удостоверьтесь, что у вас есть ячейка для правильного денька недельки, введите дату в формате [month]/[date],

Если вы используете иной формат даты, перейдите к Файл> Опции электрической таблицы и измените локаль на свою. Это изменит разные характеристики форматирования по дефлоту в согласовании с вашей локалью, включая форматы даты и местную валюту.

Потом нажмите на исходную ячейку даты, чтоб избрать ее, потом нажмите Формат> Число> Доп форматы> Доп форматы даты и времени поменять метод отображения даты.

Выбор типа номера в Google Sheets

Изберите ячейку, которую вы лишь что отредактировали, нажмите и удерживайте маленькой квадрат в правом нижнем углу ячейки, потом перетащите вниз, чтоб заполнить календарь датами.

Сейчас у вас есть базисная структура вашего календаря с указанием нареченных дней и дат. Вы сможете расширить его, добавив столбцы, содержащие остальные принципиальные данные.

Если вы желаете, чтоб ваш календарь смотрелся незначительно чище, вы также сможете скрыть полосы сетки в Гугл Sheets.

Готовый календарь в Google Sheets

Создание календаря Гугл Sheets

Как мы проявили выше, создание календаря Гугл Sheets является обычным действием. Он дает неплохую кандидатуру использованию платных приложений либо онлайн-сервисов, так как вы сможете применять Гугл Sheets в автономном режиме.

Создание календаря в Гугл Sheets также дозволяет для вас применять остальные функции Гугл Sheets. К примеру, вы сможете настроить электрическую таблицу для отправки электрического письма на базе значения ячейки. Если ваш календарь открыт для общего доступа, вы сможете настроить оповещения, чтоб докладывать для вас о окончании задачки, обновляя ячейки с ожидающих до окончания.

Вы также сможете буквально надзирать, какие разделы вашего календаря могут редактировать остальные юзеры, узнав, как заблокировать ячейки в Гугл Sheets, чтоб вы могли поделиться им с иными юзерами.

Ссылка на основную публикацию
Adblock
detector