Reputation: 3
I have the following code for adding Calendar events from Google Sheets, but it is not working. It is not showing any errors or anything, just that it is not updating the Calendar. Any ideas what I might have done wrong? I tried without the "new Date" on the Start and End dates as well.
function addEvent() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var calendar = ss.getSheetByName("Calendar");
var eventCal = CalendarApp.getCalendarsByName("Test");
var lr = calendar.getLastRow();
var data = calendar.getRange("A2:D"+lr).getValues();
for (i=0; i<data.lenght; i++){
var taskTitle = data[i][0];
var taskDesc = data[i][1];
var startDate = new Date(data[i][2]);
var endDate = new Date(data[i][3]);
//Browser.msgBox('SPX'+':'+taskTitle+':'+startDate+':'+endDate+':'+taskDesc, Browser.Buttons.OK_CANCEL);
eventCal.createEvent(taskTitle,startDate,endDate,{description: taskDesc});
}
}
Here is the sheet I am using.
Title | Description | Start Date | End Date |
---|---|---|---|
Test | Test | 3/27/2021 13:00:00 | 3/27/2021 14:00:00 |
Test 1 | Test 2 | 3/24/2021 13:00:00 | 3/24/2021 18:00:00 |
Upvotes: 0
Views: 69
Reputation: 64042
So this might be a good starting point to begin debugging again.
function addEvent() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var calendar = ss.getSheetByName("Calendar");
var eventCal = CalendarApp.getCalendarsByName("Test");
var lr = calendar.getLastRow();
var data = calendar.getRange("A2:D" + lr).getValues();
if (eventCal.length) {
for (i = 0; i < data.lenght; i++) {//length is mispelled
var taskTitle = data[i][0];
var taskDesc = data[i][1];
var startDate = new Date(data[i][2]);
var endDate = new Date(data[i][3]);
eventCal[0].createEvent(taskTitle, startDate, endDate, { description: taskDesc });//taking element zero in the array
}
}
}
Upvotes: 2