我一直试图找到一种方法让Google日历基本上将编程过滤的搜索结果(由javascript推动)转储到电子表格中。
我已经设法分别执行这两项任务,例如在这些日子之间只显示事件,并在这两次之间显示事件,但我还没有找到将两者结合起来的方法。以下是我要过滤的日子:
(这将根据插入的日历名称和日期范围向每列输出日历及其事件)
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
cell = sheet.getRange("A1");
// To change output: Enter Name of Desired Calendar Below
cApp = CalendarApp.getCalendarsByName('Calendar Name');
for (var b = 0;b < cApp.length;b++){
cell.offset(0,b).setValue(cApp[b].getName());
// To change the date range: Enter the Starting Date Below
var events = cApp[b].getEvents(new Date("August 26, 2013 EST"),
// To change the date range: Enter the Ending Date Below
new Date("January 31, 2014 EST"));
for ( var j=0;j< events.length;j++){
cell.offset(j+1,b).setValue(events[j].getTitle());
}
}
这是一个小调整,允许一个时间范围:
function onOpen() {
var now = new Date('February 28, 2014 00:00:00 PST')
var then = new Date('February 28, 2014 08:00:00 PST')
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
cell = sheet.getRange("A1");
// To change output: Enter Name of Desired Calendar Below
cApp = CalendarApp.getCalendarsByName('Athletics Field');
for (var b = 0;b < cApp.length;b++){
cell.offset(0,b).setValue(cApp[b].getName());
var events = cApp[b].getEvents(now, then);
for ( var j=0;j< events.length;j++){
cell.offset(j+1,b).setValue(events[j].getTitle());
}
}
}
更具体的问题是,我希望看到3月1日至3月8日的活动,但仅限于下午12点至下午3点之间的活动。
请帮帮忙? ^^;
答案 0 :(得分:0)
其中一个Google Apps Script Templates将是您开始的好地方。
收到当天议程的电子邮件:此模板将每天运行 脚本以检查您在Google日历上的约会,然后发送给您 在您选择的时间通过电子邮件发送当天的日程。
包含脚本is here的电子表格。