通过 Google 应用程序脚本按颜色在电子表格中填充 Google 日历事件
Fill Google calendar events in spreadsheet by color via Google apps script
到目前为止,我有以下方法可以将 Google 日历上指定日期范围内的事件添加到电子表格中。但是,我想知道是否有办法根据 Google 日历颜色为电子表格事件着色。谢谢你看。
function calendartosheet(){
var cal = CalendarApp.getCalendarById('CALENDAR_ID');
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SHEET_NAME");
var events = cal.getEvents(new Date("October 1, 2015"), new Date("October 14, 2015"));
for (var i=0;i<events.length;i++) {
var details=[[events[i].getTitle(), events[i].getStartTime(), events[i].getDescription(), events[i].getEndTime()]];
var row=i+1;
var range=sheet.getRange(row,1,1,4);
range.setValues(details);
}
}
您可以通过函数"getColor()"获取日历的颜色。
要设置相同的颜色,您可以调用函数 "setBackground(color);"
所以你的代码可以是这样的:
function calendartosheet(){
var cal = CalendarApp.getCalendarById('CALENDAR_ID');
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SHEET_NAME");
var events = cal.getEvents(new Date("October 1, 2015"), new Date("October 14, 2015"));
var color = cal.getColor();
for (var i=0;i<events.length;i++) {
var details=[[events[i].getTitle(), events[i].getStartTime(), events[i].getDescription(), events[i].getEndTime()]];
var row=i+1;
var range=sheet.getRange(row,1,1,4);
range.setValues(details);
range.setBackground(color);
}
}
希望对您有所帮助。
到目前为止,我有以下方法可以将 Google 日历上指定日期范围内的事件添加到电子表格中。但是,我想知道是否有办法根据 Google 日历颜色为电子表格事件着色。谢谢你看。
function calendartosheet(){
var cal = CalendarApp.getCalendarById('CALENDAR_ID');
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SHEET_NAME");
var events = cal.getEvents(new Date("October 1, 2015"), new Date("October 14, 2015"));
for (var i=0;i<events.length;i++) {
var details=[[events[i].getTitle(), events[i].getStartTime(), events[i].getDescription(), events[i].getEndTime()]];
var row=i+1;
var range=sheet.getRange(row,1,1,4);
range.setValues(details);
}
}
您可以通过函数"getColor()"获取日历的颜色。 要设置相同的颜色,您可以调用函数 "setBackground(color);"
所以你的代码可以是这样的:
function calendartosheet(){
var cal = CalendarApp.getCalendarById('CALENDAR_ID');
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SHEET_NAME");
var events = cal.getEvents(new Date("October 1, 2015"), new Date("October 14, 2015"));
var color = cal.getColor();
for (var i=0;i<events.length;i++) {
var details=[[events[i].getTitle(), events[i].getStartTime(), events[i].getDescription(), events[i].getEndTime()]];
var row=i+1;
var range=sheet.getRange(row,1,1,4);
range.setValues(details);
range.setBackground(color);
}
}
希望对您有所帮助。