캘린더에서 약속을로드하는 스프레드 시트에 Google 스크립트가 있습니다. 약속 시간을 계산합니다. 하지만 캘린더 항목을 업데이트하는 데는 시간이 오래 걸리며 시간 초과 오류가 발생합니다. 일정에서 약속을 가져 오는 것은 문제가 아닙니다. 스크립트 아래에 언급 된 스프레드 시트의 10 개 탭마다 쿼리 속도가 느려 집니까?스프레드 시트의 Google 캘린더에서 스크립트 로딩 약속 속도 향상
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 개의 탭이 있습니다. 그들은 비싼하고 updateUren() 함수를 호출하는 동안 일을 늦추고 특정 기간
=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'")
의 약속 시간을 필터링?
누구나 답변을 알고 계십니까?
코드가 불완전 해 보입니다. openByName() 호출이 지연의 원인이라는 것을 어떻게 알았습니까? 전체 코드를 여기에 붙여주십시오. – Srik
코드가 불완전합니다 ... 확인해 주시겠습니까? thanks –
죄송합니다, 문자 인코딩을 잊어 버렸습니다. –