Come aggiungere automaticamente eventi a un Google Calendar da un foglio di Google
Tante risposte valide a questa domanda, ma non una dettagliata su Apps Script, così ho pensato di aggiungerne una.
È possibile inviare dati da fogli a un calendario con Apps Script (un linguaggio di scripting che permette di aggiungere funzionalità extra alle G Suite Apps ed è gratuito).
Considera un esempio di base con eventi in Fogli, come questo:
Apri lo Script Editor (dal menu Strumenti) e rimuovi completamente il codice boilerplate myFunction(). Add this code:
- // function to retrieve data from Sheet and add to Calendar
- function simpleSheetsToCalendar() {
- // get spreadsheet
- var ss = SpreadsheetApp.getActiveSpreadsheet();
- var sheet = ss.getSheetByName('Sheet1');
- // get the data from Google Sheet
- var data = sheet.getRange(sheet.getLastRow(),1,1,2).getValues();
- // create variables
- var date = data[0][0];
- var title = data[0][1];
- // get calendar
- var masterCal = CalendarApp.getCalendarById('[email protected]');
- // add to calendar
- masterCal.createAllDayEvent(title,date);
- }
This Apps Script code does a few things:
- Get the active spreadsheet (line 5)
- Get Sheet1 of this spreadsheet (line 6)
- Get the last row of data from Sheet1 (line 9)
- Parse the last row of data into a date and title elements (lines 12 and 13)
- Get the calendar to post event to (line 16)
- Add event to the calendar (line 19)
Select this function and run it from the Run menu in the Script Editor window. La prima volta che la esegui, dovrai autorizzare lo script.
L'output è un nuovo evento per tutto il giorno, Evento 1, nel tuo Calendario:
Se aggiungi una nuova riga ed esegui nuovamente la funzione, creerai un nuovo evento.
Foglio:
Calendario:
Puoi aggiungere un trigger per lanciare questa funzione ogni volta che viene aggiunta una nuova riga di dati, per aggiungere automaticamente eventi al tuo Calendario. Vai su Edit > Current Project trigger's
Poi nella nuova finestra, scegli Add Trigger in basso a destra.
Poi aggiungi un trigger che lancia la funzione ogni volta che il foglio viene modificato.
Ovviamente puoi anche diventare molto più granulare con le opzioni per aggiungere a un calendario, per esempio includendo orari di inizio e fine, email di ospiti, luoghi ecc.
Per maggiori informazioni sul servizio Calendar in App Script, vedi la documentazione di Google.
Articoli simili
- Come importare un Google Calendar in un foglio di Google per ottenere una vista annuale di tutti gli appuntamenti programmati
- Google Calendar fornisce un'opzione per eliminare o rifiutare tutti gli eventi del calendario quando si è fuori ufficio?
- Come collegare un modulo Google a un dato foglio Google in modo che ogni risposta al modulo entri direttamente nelle celle corrispondenti del foglio
- Qual è la differenza tra un foglio di calcolo manuale e un foglio di calcolo elettronico?