Z arkusza do kalendarza Google w prosty sposób

Początek roku szkolnego już za pasem. Dyrektorzy szkół już w pracy, prawdopodobnie ustalają kalendarz nadchodzącego roku szkolnego. Jak co roku podadzą go do wiadomości na zbliżającej się konferencji i wywieszą w pokoju nauczycielskim. Nauczyciele przepiszą go do swoich kajetów (fe!) albo wpiszą do telefonów komórkowych. A gdybym powiedział, że wystarczy kilka kliknięć, żeby wszyscy nauczyciele w szkole mieli dostęp do kalendarza roku szkolnego, który przeniesiemy z arkusza do Kalendarza Google.

Jakie są plusy?

Przede wszystkim tworząc kalendarz Google z wydarzeniami szkolnymi będziemy mogli udostępnić go wszystkim nauczycielom w naszej szkole. Nieważne, czy to 10, 20, 50, czy 200 pracowników. Każdy będzie mógł go dodać „do siebie” i na telefonie mieć podgląd najważniejszych dat. Zaoszczędzimy w ten sposób masę ludzkich zasobów. Przenoszenie z arkusza do kalendarza Google sprawi, że po przygotowaniu odpowiedniego pliku, wszystko będzie odbędzie się za pomocą kilku kliknięć.

Tak jak wspomniałem, mając kalendarz roku szkolnego w telefonie sprawimy, że będzie on bliżej każdego nauczyciela niż kartka zawieszona w pokoju nauczycielskim. Moim zdaniem, szansa na to, że nauczyciele zapomną o wystawianiu ocen przewidywanych znacząco się w ten sposób zmniejszy – telefon mają zawsze przy sobie. Oczywiście do kalendarza będzie można dodać jeszcze przypomnienia. To sprawi, że całość będzie jeszcze bardziej wygodna.

Nasz kalendarz będzie również bardziej płynny. Jeśli w trakcie roku Dyrektor zarządzi zmianę, to kilka kliknięć u nas sprawi, że pojawi się ona u wszystkich nauczycieli.

Z arkusza do kalendarza Google – co potrzebne?

Ten poradnik jest pisany z założeniem, że szkoła posiada system Google Workspace. Nie jest on wymagany, ale znacznie poprawi wygodę pracy i współdzielenie. Mając kalendarz na szkolnym Google Workspace mogę zwyczajnie ograniczyć jego udostępnianie do nauczycieli ze szkoły. Inni nie będą w stanie go podglądać. Potrzebujemy też jeden czysty arkusz Google i jeden nowy kalendarze Google.

[foto z tworzenia nowego kalendarza]

Przygotowujemy kalendarz w arkuszach Google

Zaczynamy od najbardziej żmudnej i niezautomatyzowanej części pracy. Przygotujemy kalendarz w trzech kolumnach arkusza Google, który potem automatycznie przeniesie się do kalendarza.

Docelowy wygląd kalendarza roku szkolnego przygotowanego w Arkuszu Google
Do takiego wyglądu kalendarza roku szkolnego będziemy dążyć, przygotowując arkusz Google.

Arkusz musi mieć trzy kolumny:

  • data początku – oznaczamy formatowanie komórek jako Datę i wpisujemy tu daty w formacie rrrr-mm-dd,
  • liczba dni – tu formatowanie komórek oznaczamy jako Liczbę i będziemy tu wpisywać czas trwania wydarzenia w pełnych dniach,
  • nazwa – tu będziemy wstawiali nazwy wydarzeń z kalendarza roku szkolnego.
W taki sposób ustalamy typy danych w kolumnach kalendarza
Tak wygląda ustalanie formatowania komórek naszego arkusza z kalendarzem roku szkolnego.

No i teraz nasze najważniejsze zadanie. Uzupełniamy kalendarz poprawnymi danymi, które pasują do naszej szkoły.

Tworzymy nowy kalendarz Google

Włączamy stronę kalendarzy Google. Żeby przenieść dane z arkusza do Kalendarza Google, będziemy tworzyli nowy kalendarz. W panelu po lewej klikamy znak Plusa i wybieramy Utwórz nowy kalendarz.

Demonstracja tworzenia nowego kalendarza Google
Tak tworzymy nowy kalendarz Google

W nowym oknie nadajemy mu nazwę np. Kalendarz roku szkolnego 2023/2024. Opcjonalnie możemy dodać również opis. Po uzupełnieniu formularza klikamy na niebieski guzik z napisem Utwórz kalendarz.

Przenosimy identyfikator kalendarza do arkusza

Stworzymy teraz łącznik między kalendarzem a arkuszem. W ten sposób skrypt, który za chwilę będziemy dodawali będzie wiedział, do którego kalendarza ma wkleić dane z arkusza. Przechodzimy do ustawień kalendarza – znajdziemy je po lewej stronie, klikając na trzy pionowe kropki obok nazwy kalendarza i wybierając opcję Ustawiania i udostępniania.

Opcja którą należy kliknąć, żeby przejść do ustawień kalendarza
Przechodzimy do ustawień kalendarza

W oknie, które się otworzy szukamy nagłówka Integrowanie kalendarza. Powinien tam się znajdować Identyfikator kalendarza – zaznaczamy go, kopiujemy i wklejamy do naszego arkusza. Ustalmy też, że wkleimy go do komórki I2.

Piszemy skrypt w AppsScript

Jesteśmy gotowi, żeby napisać skrypt przenoszący dane z arkusza do kalendarza Google. Klikamy na Rozszerzenia->Apps Script. Na nowej karcie otworzy się proste IDE pozwalające zapisać nasz skrypt.

Apps Script pozwala na tworzenie skryptów łączących różne narzędzia Google.
Widok edytora Apps Script ze skryptem przenoszącym dane między arkuszem a kalendarzem

Skrypt, który powinien znaleźć się w edytorze powinien wyglądać tak jak ten poniżej. Kopiujcie go śmiało.

function arkuszDoKalendarz() {
  var spreadsheet = SpreadsheetApp.getActiveSheet();
  var calendarId = spreadsheet.getRange("I2").getValue();

  var eventCal = CalendarApp.getCalendarById(calendarId);
  // Kasowanie kalendarza------------------------
  var events = eventCal.getEvents(new Date('Sept 1, 2023'), new Date('Aug 31, 2024'));

  for (var i = 0; i < events.length; i++) {
    events[i].deleteEvent();
  }
  // ---------------------------------------------

  var signups = spreadsheet.getRange("A3:C39").getValues();

  for (x = 0; x < signups.length; x++) {
    var shift = signups[x];
    
    var start = shift[0];
    var tytul = shift[2];
    var powtarzanie = CalendarApp.newRecurrence().addDailyRule().times(shift[1]);

    eventCal.createAllDayEventSeries(tytul, start, powtarzanie)
    
  }
}

Co tu się dzieje? W dużym skrócie, na początku kasujemy całą zawartość kalendarza, którego identyfikator pobraliśmy z komórki I2. Kasowanie odbywa się od daty Sept 1, 2023 do Aug 31 2024. Za rok po zmianie tych dat kalendarz znów będzie się czyścił.

Gdy kalendarz będzie wyczyszczony, rozpoczyna się tworzenie wydarzeń linijka po linijce. Dane pobiera z zakresu A3:C39 – dostosujcie go do własnych potrzeb. Skrypt pobiera datę początkową, czas trwania wydarzenia i nazwę, a następnie dodaje takie wydarzenie do kalendarza.

Kiedy przekopiujecie skrypt, wystarczy kliknąć na guzik Uruchom i czekać na powiadomienie u dołu ekranu, że wszystko się pomyślnie zakończyło.

Klikamy guzik uruchomienia i za chwilę w Kalendarzu będą wszystkie nasze wydarzenia
Klikamy guzik uruchomienia i za chwilę w Kalendarzu będą wszystkie nasze wydarzenia

Próbujcie, testujcie…

…i wykorzystujcie mój skrypt ile wlezie. Mam nadzieję, że taki sposób przenoszenia wydarzeń z arkusza do kalendarza Google przypadł Wam do gustu. Dla mnie to fajny sposób na zaoszczędzenie sporej ilości czasu z każdym początkiem roku szkolnego.

Dodaj komentarz

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top