importation des informations Google Agenda sur Google sheets Google Agenda sur Google sheets comment faire une feuille d'heure sur google sheets comment faire une feuille d'heure avec Google Agenda
Пікірлер: 1
@tannachermartin406813 күн бұрын
// Menu et bouton pour l'exécution manuelle du script function onOpen(e) { SpreadsheetApp.getUi() .createMenu(':date: Import Google Agenda') .addItem(':arrow_forward: Exécuter le script', 'getEventsAllSheets') .addToUi(); } // Script pour récupérer les événements sur 7 feuilles function getEventsAllSheets() { Logger.log('Début d\'exécution du script sur plusieurs feuilles'); var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheetNames = ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche']; for (var j = 0; j < sheetNames.length; j++) { var sheet = ss.getSheetByName(sheetNames[j]); if (sheet) { Logger.log(`Exécution du script pour ${sheetNames[j]}`); getEventsForSheet(sheet); // Exécuter la récupération d'événements pour chaque feuille } } } // Script pour récupérer les informations des événements pour une feuille donnée function getEventsForSheet(sheet) { var start_time = sheet.getRange("A2").getValue(); var id_cal = sheet.getRange("B2").getValue(); if (!start_time || !id_cal) { Logger.log(`La feuille ${sheet.getName()} n'a pas de date ou d'ID de calendrier valide.`); return; } var cal = CalendarApp.getCalendarById(id_cal); if (!cal) { Logger.log(`ID de calendrier invalide pour la feuille ${sheet.getName()}`); return; } var events = cal.getEventsForDay(new Date(start_time)); // Boucle pour récupérer les événements for (var i = 0; i < events.length; i++) { Logger.log(`Exécution du for sur ${sheet.getName()}`); var title = events[i].getTitle(); var start_time = events[i].getStartTime(); var end_time = events[i].getEndTime(); var des = events[i].getDescription(); var interval = (end_time.getHours() - start_time.getHours()) + (end_time.getMinutes() - start_time.getMinutes()) / 60; // Insertion des informations des événements dans le fichier Sheets sheet.getRange(i+5, 1).setValue(title); sheet.getRange(i+5, 2).setValue(start_time.getHours() + "h " + start_time.getMinutes()); sheet.getRange(i+5, 3).setValue(end_time.getHours() + "h " + end_time.getMinutes()); sheet.getRange(i+5, 4).setValue(((interval * 60) % 60 / 100) + Math.floor(interval)); sheet.getRange(i+5, 5).setValue(des); } // Nettoyage des lignes inutilisées for (var i = events.length; i < events.length + 20; i++) { sheet.getRange(i+5, 1).setValue(""); sheet.getRange(i+5, 2).setValue(""); sheet.getRange(i+5, 3).setValue(""); sheet.getRange(i+5, 4).setValue(""); sheet.getRange(i+5, 5).setValue(""); } Logger.log(`Événements ajoutés dans la feuille ${sheet.getName()}`); }