在Google日历和电子表格之间不生成预期的结果

所以我有一些代码来创build基于会议工作表的日历活动,但我似乎无法得到它的工作,因为我所期望的 – 我有第24和25列,以跟踪如果它被放在日历和日历事件ID,我不希望它删除,然后创build一个新的事件已经被添加(因为这个电子表格可以变大),所以这就是为什么我通过编辑跟踪。 但似乎每次都会创造一个新的事件。 如果任何人都可以看一看,那将是非常好的,因为我一直在为这3天的努力奋斗。 非常感谢

//push new events to calendar; function pushToCalendar() { //spreadsheet variables var sheet = SpreadsheetApp.getActiveSheet(); var lastRow = sheet.getLastRow(); var range = sheet.getRange(2,1,lastRow,26); var values = range.getValues(); var updateRange = sheet.getRange('Z1'); //calendar variables var calendar = CalendarApp.getCalendarById('insert calendar code here') //show updating message updateRange.setFontColor('red'); var numValues = 0; for (var i = 0; i < values.length; i++) { //check to see if name are filled out if ((values[i][0].length > 0) && (values[i][1].length > 0)) { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // if it has been edited delete old event if (values[i][23] ='n') { try{ var eventIdCell =values[i][24]; var eventId =calendar.getEventSeriesById(eventIdCell); eventId.deleteEventSeries(); } catch (e) { // do nothing - we just want to delete if it has been edited and the old event if it still exists } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //check if it's been entered before if (values[i][23] !='y') { var newEventTitle = values[i][0] + ' - ' + values[i][1]+' - ' + 'Sample'; var newEvent = calendar.createAllDayEvent(newEventTitle, new Date(values[i][6])); //get ID var newEventId = newEvent.getId(); //mark as entered, enter ID sheet.getRange(i+2,24).setValue('y'); sheet.getRange(i+2,25).setValue(newEventId); } } numValues++; } //hide updating message updateRange.setFontColor('white'); } ////////////////////////////////////////////////////////////////////////////////////////////////////// //add a menu when the spreadsheet is opened function onOpen() { var sheet = SpreadsheetApp.getActiveSpreadsheet(); var menuEntries = []; menuEntries.push({name: "Update Calendar", functionName: "pushToCalendar"}); sheet.addMenu("Jobs Calendar", menuEntries); } ////////////////////////////////////////////////////////////////////////////////////////////////////// function onEdit(event){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var actSht = event.source.getActiveSheet(); var actRng = event.source.getActiveRange(); var activeCell = actSht.getActiveCell(); var row = activeCell.getRow(); if(row < 2){ return; //If header row then return } else{ var index = actRng.getRowIndex(); var updateCalCell = actSht.getRange(index,24); var eventIdCell = actSht.getRange(index,25); change updated on colander status to n updateCalCell.setValue('n'); } } //////////////////////////////////////////////////////////////////////////////////////////////////////// 

你在条件中做了一个简单的错误:比较EQUAL运算符是==而不是= ,改变它,它将起作用。

 if (values[i][23] =='n') {