Script google forms / google calendar
Bonjour,
Dans google drive, j'utilise un script pour transférer les données d'un formulaire google vers un calendrier google.
Tout fonctionne, mais j'aimerais que dans le titre de l'évènement ne s'affiche pas l'heure, actuellement le titre est précédé de (00:00). J'ai essayé en remplaçant la fonction cal.createEvent par cal.createAllDayEvent, mais dans ce cas, seule la date de début de l'évènement est prise en compte, c'est à dire qu'un évènement qui s'étale sur plusieurs jours n'est affiché que sur le jour de départ.
Voici le script utilisé :
Code:
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
| var EVENT_IMPORTED = "AJOUTE"; // Ajoutera le texte "AJOUTE" dans la colonne M
var ss = SpreadsheetApp.getActiveSpreadsheet();
function onOpen() {
var menuEntries = [{name: "Ajouter les événements à l'agenda", functionName: "importCalendar"}];
ss.addMenu("Agenda", menuEntries); // Pour ajouter un 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 = 2; // Première colonne de prise en compte des données, soit la colonne B (titre du rendez-vous)
var numcolumns = 26; // Nombre de colonne
var dataRange = sheet.getRange(startcolumn, 1, numcolumns, 13) // Nombre de colonne contenant des données
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var column = data[i];
var pseudo = column[1]; // Colonne B - Titre de l'événement dans l'agenda
var departaller = column[2]; // Colonne C - lieu de départ
var arrivaller = column[3]; // Colonne D - lieu d'arrivée
var titre = "Concurrent :"+ pseudo +"\r"+"-"+"\rTrajet :"+ departaller +" "+"/"+" "+arrivaller;
var dateDep1 = column[4]; // Colonne E - date de début de départ
var dateDep2 = column[5]; // Colonne F - date de fin de départ
var vitesse = column[6]; // Colonne G - Vitesse
var vetype = column[7]; // Colonne H - Type
var email = column[8]; // Colonne I - Adresse email
var numTel = column[9]; // Colonne J- Téléphone
var comment = column[10]; // Colonne K - commentaire Description
var permis = column[11]; // Colonne L - Téléphone
var description = "<FONT COLOR='blue'>Type :</FONT> "+ vetype +"\r<FONT COLOR='blue'>Vitesse :</FONT> "+ vitesse +" "+"km/h"+"\r<FONT COLOR='blue'>Commentaire :</FONT>"+ comment +"\r<FONT COLOR='blue'>me joindre par téléphone :</FONT> "+ numTel +"\r<FONT COLOR='blue'>par email : </FONT>"+ email // concatenation des champs destinés à la zone Description de l'agenda
var eventImported = column[12];// Colonne M - 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
if (eventImported != EVENT_IMPORTED && titre != "") { // Evite les doublons dans l'agenda, si le texte AJOUTE est présent en M, l'événement n'est pas ajouté
var cal = CalendarApp.openByName(calendarName);
cal.createEvent(titre, new Date(dateDep1), new Date(dateDep2), {description : description}); // Création de l'événement dans l'agenda avec le titre, les dates de départ et d'arrivée, la description complète
sheet.getRange(startcolumn + i, 13).setValue(EVENT_IMPORTED); // Nombre de colonne contenant des données
SpreadsheetApp.flush();
}
}
} |