1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| var EVENT_IMPORTED = "AJOUTE"; // Ajoutera le texte "AJOUTE" dans la colonne R
var ss = SpreadsheetApp.getActiveSpreadsheet();
function onOpen() {
var menuEntries = [{name: "Ajouter les événements à l'agenda", functionName: "importCalendar"}];
ss.addMenu("Agenda", menuEntries); // Pour ajouter une menu Agenda et un sous-menu "ajouter les événements" dans la feuille de calcul. Cela permettra de tester manuellement la liaison entre la feuille de calcul et l'agenda
}
function importCalendar() {
var sheet = SpreadsheetApp.getActiveSheet();
var startcolumn = 1; // Première colonne de prise en compte des données, soit la colonne A
var numcolumns = 30; // Nombre de colonne
var dataRange = sheet.getRange(startcolumn, 1, numcolumns, 19) // Nombre de colonne contenant des données
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var column = data[i];
var ITS = column[1]; // Colonne B - ITS CARD
var titre = column[2]; // Colonne C - Titre
var DateStart = column[3]; // Colonne D - date et heure de debut de l'événement
var DateEnd = column[4]; // Colonne E - date et heure de fin de l'événement
var HOFID = column[5]; // Colonne F - HOFID
var Gender = column[6]; // Colonne G - Genre
var Age = column[7]; // Colonne H - Age
var Email = column[8]; // Colonne I - Email
var Mobile = column[9]; // Colonne J - Telephone
var Address = column[10]; // Colonne K - Adresse
var City = column[11]; // Colonne L - Ville
var Sector = column[12]; // Colonne M- Secteur
var SubSector = column[13]; // Colonne N - Sous secteur
var Status = column[14]; // Colonne O - Statut
var LastYears = column[15]; // Colonne P - Année derniere
var Remarks = column[16]; // Colonne Q - Remarque
var description =
" titre : "+ titre +
" ITS : " + ITS +
" HOFID : "+ HOFID +
" Genre : "+ Gender +
" Age : " + Age +
" Email : " + Email +
" Mobile : "+ Mobile +
" Adresse : " + Address +
" Ville :" + City +
" Secteur " + Sector +
" Sous Secteur :" + SubSector +
" Statut: "+ Status +
" Année derniere :" + LastYears +
" Remarque :" + Remarks
var eventImported = column[18];// Colonne K - Statut de l'importation - colonne AJOUTE A L'AGENDA
var setupInfo = ss.getSheetByName("agenda"); // Nom de la feuille de calcul contenant la nom de l'agenda
var calendarName = setupInfo.getRange("A1").getValue(); // Référence de la cellule contenant le nom de l'agenda
var cal = CalendarApp.openByName(calendarName);
if (eventImported != EVENT_IMPORTED && titre != "") // Evite les doublons dans l'agenda, si le texte AJOUTE est présent en K, l'événement n'est pas ajouté
{
cal.createEvent(titre, new Date(DateStart), new Date(DateEnd), {description : description}); // Création de l'événement dans l'agenda avec le titre, la date de début, la date de fin et la description complète
sheet.getRange(startcolumn + i, 18).setValue(EVENT_IMPORTED); // Nombre de colonne contenant des données
SpreadsheetApp.flush();
}
}
} |
Partager