James Mashiri
James Mashiri

Reputation: 13

How do I make my Sheets script create multiple events in my Calendar from a given range?

I’m trying to use this script below to create a calendar event from dates and names entered in Sheets. I have one unresolved issue -- the code runs successfully, but the issue is that from the given range (A1:C17) only the last row (17) turns into a calendar event. I just don’t get this. Checked so far: Sheets range and formats, all APIs and authorizations, Calendar settings and almost everything I came to think of. I've also searched for documentation on this particular error/fault and have found none so far.


function CreateEvent () {
  var spreadsheet = SpreadsheetApp.getActiveSheet();
  var calendarId = 'primary'
  var eventCal = CalendarApp.getCalendarById(calendarId);  
  var signups = spreadsheet.getRange('A1:C17').getValues();

  for (x=0; x<signups.length; x++) {
    var shift = signups[x];
    var startTime = shift[0];
    var endTime = shift[1];
    var campaignname = shift[2];
  }
  eventCal.createEvent(campaignname, startTime, endTime);
}

My Sheets range A1:C17

My Calendar entry from May after running the script, all 16 entries before the last row are absent

Upvotes: 1

Views: 97

Answers (1)

Cooper
Cooper

Reputation: 64032

function CreateEvent () {
  var spreadsheet = SpreadsheetApp.getActiveSheet();
  var calendarId = 'primary'
  var eventCal = CalendarApp.getCalendarById(calendarId);  
  var signups = spreadsheet.getRange('A1:C17').getValues();

  for (x=0; x<signups.length; x++) {
    var shift = signups[x];
    var startTime = shift[0];
    var endTime = shift[1];
    var campaignname = shift[2];
    eventCal.createEvent(campaignname, startTime, endTime);
  }
}

Upvotes: 1

Related Questions