Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作

Google Script: Script to create calendar event runs without error but does nothing

本文关键字:脚本 出错 执行 操作 任何 运行时 用于 创建 日历 活动 Google      更新时间:2023-09-26
function onOpen() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var calendarName = "CALENDAR";
    var calTimeZone =  CalendarApp.openByName(calendarName).getTimeZone();
    var menuEntries = [ {name: "Update Calendar", functionName: "cal1"} ];
    ss.addMenu("Calendar", menuEntries);
    ss.setSpreadsheetTimeZone(calTimeZone);
}
function cal1() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var dataSheet = ss.getSheetByName("Sheet1");
    var calendarName = "CALENDAR";
    var calTimeZone =  CalendarApp.openByName(calendarName).getTimeZone();
    var startRow = 3;
    var numRows = 100;
    var dataRange = dataSheet.getRange(startRow, 1, numRows, 26);
    var data = dataRange.getValues();
    var cal = CalendarApp.getCalendarsByName("CALENDAR")[0];
    for (i in data) {
        var row = data[i];
        if (row[3] == "Add") {
            var title = row[24];  // Column with Title
            var desc = row[21];       // Column with Description
            var startdate = row[12];   //Column with Date
            var enddate = row[14];    //Column with Location
            cal.createEvent(title, startdate, enddate);  
        }
    } 
}

这是一个简单的脚本,应该查看我的电子表格并将其添加到我的日历中,如果第 3 列是"添加"。代码运行没有任何错误,但是当我检查日历时,那里什么都没有。我在这里做错了什么吗?

检查记录器后,我意识到索引从 0 开始(C 列 = 行[2],而不是行 [3](。这是一个愚蠢的错误,尽管我想删除这个问题,但我认为最好把它放在那里,以防有人做同样的事情。