我正在尝试创建一个Google Sheets设置与一个脚本,将创建日历事件,并为这些事件设置提醒时间。
我有一个例外:我希望能够有一个“提醒时间”列,该列中的每个单元格可以有不同的提醒时间来对应给定的日历条目(例如,对于类型A,日历事件将提前3天创建提醒,但对于类型B,日历事件将提前6天创建,因此在“提醒时间”列中,第一个单元格将是4320,第二个单元格将是8640 (以分钟为单位的时间))。
我的问题是,类型A和类型B都被分配了“提醒时间”列的第一个值(提醒时间列是第8列)。
function pushToCalendar() {
var sheet = SpreadsheetApp.getActiveSheet();
//Define reminder, THIS IS WHERE MY PROBLEM SEEMS TO LIE
var reminder = sheet.getRange(2, 8).getValue();
var lastRow = sheet.getLastRow();
var range = sheet.getRange(2, 1, lastRow, 5);
var values = range.getValues();
var calendar = CalendarApp.getCalendarById('joncodle9gk4@group.calendar.google.com')
var numValues = 0;
for (var i = 0; i < values.length; i++) {
if ((values[i][0].length > 0) && (values[i][3].length > 0)) {
if (values[i][4] != 'y') {
var newEventTitle = 'Note Due: ' + values[i][0] + ' - ' + values[i][3];
var newEvent = calendar.createAllDayEvent(newEventTitle, values[i][2]);
newEvent.addEmailReminder(reminder);
var newEventId = newEvent.getId();
sheet.getRange(i + 2, 5).setValue('y');
sheet.getRange(i + 2, 6).setValue(newEventId);
}
}
numValues++;
}
}发布于 2015-10-01 02:23:56
您的“提醒”仅从H2读取,而不是该事件的行。所以你需要把你的
var reminder = sheet.getRange(2,8).getValue();放入你的row循环:
var reminder = sheet.getRange(i+1,8).getValue();https://stackoverflow.com/questions/32870951
复制相似问题