Come importare un Google Calendar in un foglio di Google per ottenere una vista annuale di tutti gli appuntamenti programmati
Uno script può fare questo. Ne ho scritto uno che ho condiviso qui sotto. Avrai bisogno di aggiungerlo al tuo foglio di calcolo tramite lo Script Editor: Strumenti > Editor di script. Cancella tutto nel file di codice che viene fatto quando apri l'editor e incolla lo script qui sotto.
Poi imposta un foglio nel foglio di calcolo chiamato 'Calendar Import'. Abbina il layout come nel mio foglio di calcolo di esempio qui. Vedrai nel mio foglio di esempio che c'è un posto per inserire il nome del calendario* da cui vorresti importare, una data di inizio per importare gli eventi e una data di fine fino alla quale vorresti importare.
*Puoi opzionalmente usare l'ID del calendario se vuoi (nel caso tu voglia essere più sicuro del calendario da cui stai importando).
Ho aggiunto un'immagine e allegato lo script ad essa, così quando clicchi sull'immagine viene eseguito lo script. Quando esegui lo script per la prima volta ti verrà chiesto di dargli i permessi necessari per l'esecuzione.
Quando lo script viene eseguito tutti gli eventi compresi tra le date che hai specificato saranno importati - Data dell'evento, Titolo, Descrizione e Luogo.
In futuro cercherò di estendere questo script rendendo possibile la modifica degli eventi nel foglio di calcolo e scrivendo tali modifiche nel calendario. Personally I can foresee some benefits to managing a calendar from a spreadsheet.
Anyway I hope that helps.
Script:
- function importCalendar(){
- var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Calendar Import');
- var calendarName = sheet.getRange('C2').getValue();
- var start = sheet.getRange('C3').getValue();
- var end = sheet.getRange('C4').getValue();
- var calendar = CalendarApp.getCalendarById(calendarName);
- if(calendar) {var calendarId = calendar.getId();}
- if(!calendar) {
- var calendar = CalendarApp.getCalendarsByName(calendarName)[0];
- var calendarId = calendarName;
- }
- var events = calendar.getEvents(start, end);
- var eventDetails = [];
- for(var i = 0; i
- eventDetails.push([events[i].getStartTime(), events[i].getTitle(), events[i].getDescription(), events[i].getLocation()]);
- }
- //write calendar details to spreadsheet
- var startRow = 8;
- var startCol = 2;
- for(var j = 0; j
- var tempRange = sheet.getRange(startRow+j, startCol, 1, 4);
- var eventArray = new Array(eventDetails[j]);
- tempRange.setValues(eventArray);
- }
- return eventDetails;
- }
Articoli simili
- Come aggiungere automaticamente eventi a un Google Calendar da un foglio di Google
- 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?
- Google Calendar fornisce un'opzione per eliminare o rifiutare tutti gli eventi del calendario quando si è fuori ufficio?