Reputation: 13
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
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