We use a that gather the registration from Google Form and add them in our Agenda, our script uses the method "CalendarApp.openByName" to add the name automatically inside a Cell. It says the method is obsolete, what is the updated name for this method?
Here is the complete script:
var EVENT_IMPORTED = "AJOUTE"; // Ajoutera le texte "AJOUTE" dans la colonne N
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 = 2; // Première colonne de prise en compte des données, soit la colonne B (titre du rendez-vous)
var numcolumns = 30; // Nombre de colonne
var dataRange = sheet.getRange(startcolumn, 1, numcolumns, 11) // Nombre de colonne contenant des données
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var column = data[i];
var titre = column[1]; // Colonne B - Titre de l'événement dans l'agenda - Titre du rendez-vous
var DateDebut = column[2]; // Colonne C - date et heure de début de l'événement
var Nom = column[3]; // Colonne E - Nom du contact
var Adresse = column[4]; // Colonne F - Adresse
var CP = column[5]; // Colonne G - Code postal
var Ville = column[6]; // Colonne H - Ville
var NumTel = column[7]; // Colonne I - Numéro de téléphone
var Lieu = column[8];
var Mail = column[9]; // Colonne J - Debut
var description = "Nom du contact : "+ Nom +" // Adresse : "+ Adresse +" // Code postal : "+ CP +" // Ville : "+ Ville +" // Numéro de téléphone : "+ NumTel +" //Lieu Activité : "+ Lieu // concatenation des champs des colonnes E à K destinée à la zone Description de l'agenda
var eventImported = column[11];// Colonne N - 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 K, l'événement n'est pas ajouté
var cal = CalendarApp.openByName(calendarName);
cal.createEvent(titre, new Date(DateDebut), new Date(DateDebut), {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, 11).setValue(EVENT_IMPORTED); // Nombre de colonne contenant des données
SpreadsheetApp.flush();
}
}
}
Best Answer
In the current stage,
openByName()
is deprecated. So please modify as follows.From:
To:
Note:
calendarName
is existing only one.Reference: