我在从日历加载约会的电子表格中有一个谷歌脚本。它计算约会所花费的时间。但是更新日历项目需要很长时间,我经常遇到超时错误。从日历中获取约会不是问题。脚本下提到的电子表格每 10 个选项卡中的查询是否会减慢速度?
function updateUren()
{
var cal = CalendarApp.openByName("Uren");
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Uren");
//set first row
var details=[["title", "date", "start", "end", "duration"]]; // events[i].getDescription(),
var range=sheet.getRange(2,1,1,5);
range.setValues(details);
//gets the year from Boekjaar
var year = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Boekjaar").getRange(2,1,1,1).getValue();
var events = cal.getEvents(new Date("January 1, "+year), new Date("December 31, "+year));
if(events.length == 0)
{
Browser.msgBox('No events found for year: "' + year + '"');
}
for (var i=0;i<events.length;i++) {
//http://www.google.com/google-d-s/scripts/class_calendarevent.html
var startTime = events[i].getStartTime();
var endTime = events[i].getEndTime();
var durationHours = (endTime - startTime) / (1000*60*60);
var details=[[events[i].getTitle(), startTime, startTime, endTime, durationHours]]; // events[i].getDescription(),
var row=i+3;
range=sheet.getRange(row,1,1,5);
range.setValues(details);
}
var foo = "foo";
}
我有 10 个选项卡正在运行我在此处显示的查询。他们过滤特定时期的约会持续时间
=QUERY (Uren!A:E, "SELECT B, SUM(E) WHERE A CONTAINS 'SomeKeyWord' AND B>=DATETIME '2012-6-18 00:00:00'
AND B<DATETIME '2012-7-16 00:00:00' GROUP BY B PIVOT A'")
在调用 updateUren() 函数期间,它们是否昂贵且减慢速度?
有人知道答案吗?