Home > Software design >  Sytax error: Missing ), but I don't see it. My quotation marks don't seem to be the proble
Sytax error: Missing ), but I don't see it. My quotation marks don't seem to be the proble

Time:05-07

I've been working on this app script trying to automate data from a Google sheet to create events on Google Calendar. I've tried changing the Quotation marks from single to double and back. I've checked my () over and over. I cannot see what I've done that gives me the syntax error. If you can see it, please tell me. This is making me nuts.

function AutomateCalendarEvent() {
  let sheet = SpreadsheetApp.getActiveSheet();
  let pqCalendar = CalendarApp.getCalendarById("zyxwvutsrqp");  
  let reservation = sheet.getRange("C2:E1105").getValues();
  reservation.splice(0, 1);
  let rows = sheet.getDataRange().getValues();
  rows.forEach(function (row, index)  {
    if (index === 0) return;
    if (row[C3]) return;
    
  pqCalendar.createAllDayEvent("Last Name"C2:C, "Arrival Date"D2:D, "Departure Date"E2:E);
    
   })
}

CodePudding user response:

Take a look at my comments

function AutomateCalendarEvent() {
  let sheet = SpreadsheetApp.getActiveSheet();
  let pqCalendar = CalendarApp.getCalendarById("zyxwvutsrqp");  
  let reservation = sheet.getRange("C2:E1105").getValues();
  reservation.splice(0, 1);
  let rows = sheet.getDataRange().getValues();
  rows.forEach(function (row, index)  {
    if (index === 0) return;
    if (row[C3]) return;//C3 should be an index between 0 and 2
    
  pqCalendar.createAllDayEvent("Last Name"C2:C, "Arrival Date"D2:D, "Departure Date"E2:E);//parameters should be a string followed by two dates
    //this is not the way insert parameters into above command.  Ranges do not return values
   })
}

CodePudding user response:

Assuming your data are as follows enter image description here

Try

function AutomateCalendarEvent(){
  let myCalend = CalendarApp.getCalendarById("************@gmail.com");
  let sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
  let data = sh.getDataRange().getValues().splice(1)
  data.forEach(row => {
    console.log(myCalend.createEvent(row[0],row[1],row[2]).getId())
  })
}

enter image description here

  • Related