Pour nettoyer un ( ou plusieurs ) Agenda Google

fanch55

XLDnaute Barbatruc
Salut à tous,
Ayant "marre" de devoir nettoyer les évents créés dans mon agenda personnel ou partagés entre mon association ou ma femme,
j'ai conçu un code pour nettoyer un ou plusieurs agendas Google ( code .Gs )
Rien à voir avec Excel, mais je partage .... ( en fait c'est du simili java )


JavaScript:
// @ts-nocheck
// Suppression des évènements d'un agenda compris entre le "01/01/1950" (StartDate)  et le jour courant - 2 (EndDate).
// On peut utiliser
//   soit la fonction PurgeName en lui donnant le nom de l'agenda
//   soit la fonction PurgeId   en lui donnant l'identifiant de l'agenda
// Il faut bien sûr avoir les droits d'écriture dans les calendriers ciblés
//
  const StartDate = new Date(1950,0,1); Logger.log(StartDate);
  var AnteDays = 2 ;                                                      // On va conserver 2 jours antérieurs à la date du jour
  var EndDate = new Date(); EndDate.setDate(EndDate.getDate()-AnteDays);  // Calcul de la date de fin ( date du jour - AnteDays)
 
function PurgeName() {
   Delete_Past_Events_ByName("Vendée");                     // Agenda Vendée
   Delete_Past_Events_ByName("Pétanque Hilairoise");        // Agenda Pétanque
   Delete_Past_Events_ByName("Fanch55 Personnel");          // Agenda François
}
function PurgeId() {
   Delete_Past_Events_ById("blablabla@group.calendar.google.com");                                 // Agenda Vendée
   Delete_Past_Events_ById("blablablasuivant@group.calendar.google.com");                     // Agenda Mercredis
   Delete_Past_Events_ById("monmail@gmail.com");                                                             // Agenda François
}
// @ts-ignore
function Delete_Past_Events_ByName(CName) {
    Erase_Past_Events( CalendarApp.getCalendarsByName(CName)[0] );
}

function Erase_Past_Events( Cal ) {
  var CalName = Cal.getName();
    console.log(CalName + " Nettoyage des événements entre " + Utilities.formatDate(StartDate, "GMT", "dd-MM-yyyy HH:mm:ss") + " et " + Utilities.formatDate(EndDate, "GMT", "dd-MM-yyyy HH:mm:ss")); 
  var List_Events = Cal.getEvents(StartDate,EndDate);
  var nl = "\n"
  var Msg
  
  for (var i = 0; i < List_Events.length; i++) {
    if (List_Events[i].getEndTime() <= EndDate)  {
      Msg = CalName + " "  + List_Events[i].getStartTime()  + "/" + List_Events[i].getEndTime() + nl + List_Events[i].getTitle();
      if (List_Events[i].getDescription() != "") { Msg = Msg + nl + List_Events[i].getDescription() };
      if (List_Events[i].getLocation() != "")    { Msg = Msg + nl + List_Events[i].getLocation() };      
      console.log(Msg);
      List_Events[i].deleteEvent() ;
      };
    }
  console.log(CalName + " Nettoyage fini" );
}
 
Dernière édition:

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 182
dernier inscrit
moutassim.amine