我已经能够创建一个脚本来将电子表格(交付计划)导入日历。它工作得很好,但我不断在计划中添加新的交付。当我将它导入日历时,它每次都会导入所有内容。有没有办法只导入最后一行导入而不是整个电子表格?
这是我正在使用的脚本......
var DELIVERY_IMPORTED = "DELIVERY_IMPORTED";
var ss = SpreadsheetApp.getActiveSpreadsheet();
function onOpen() {
var menuEntries = [{name: "Import Events in Calendar", functionName: "importCalendar"}];
ss.addMenu("Calendar", menuEntries);
}
function importCalendar() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 5; // Number of rows to process
var dataRange = sheet.getRange(startRow, 1, numRows, 5)
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var title = row[1]; // Name
var location = row[2];
var startDate = row[3]; // Start Date
var description = row[4];
var cal = CalendarApp.getCalendarsByName('Calendar Name')[0];
var advancedArgs = {description: description, location: location};
cal.createAllDayEvent(title, new Date(startDate), advancedArgs);
SpreadsheetApp.flush();
}
}
非常感谢任何帮助!
答案 0 :(得分:1)
如果您每次只有一个新的石灰,您可以使用Sheet.getLastRow()获取包含内容的最后一行的索引。
否则,您可以使用“属性”服务存储上次导入的行,并从那里开始。