首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google Apps脚本:电子邮件提醒从列值中提取时间

Google Apps脚本:电子邮件提醒从列值中提取时间
EN

Stack Overflow用户
提问于 2015-10-01 00:12:30
回答 1查看 240关注 0票数 0

我正在尝试创建一个Google Sheets设置与一个脚本,将创建日历事件,并为这些事件设置提醒时间。

我有一个例外:我希望能够有一个“提醒时间”列,该列中的每个单元格可以有不同的提醒时间来对应给定的日历条目(例如,对于类型A,日历事件将提前3天创建提醒,但对于类型B,日历事件将提前6天创建,因此在“提醒时间”列中,第一个单元格将是4320,第二个单元格将是8640 (以分钟为单位的时间))。

我的问题是,类型A和类型B都被分配了“提醒时间”列的第一个值(提醒时间列是第8列)。

代码语言:javascript
复制
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++;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2015-10-01 02:23:56

您的“提醒”仅从H2读取,而不是该事件的行。所以你需要把你的

代码语言:javascript
复制
var reminder = sheet.getRange(2,8).getValue();

放入你的row循环:

代码语言:javascript
复制
var reminder = sheet.getRange(i+1,8).getValue();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32870951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档