我正在尝试使用电子表格创建“事件创建者”,但我无法弄清楚。
好的,我用工作表创建了一些事件(如 5 或 6),但我的问题是当我想更新其中一个事件的一些信息并导出它们时 - 它们重复。所以就像我看到我需要使用事件 id 但我不知道如何。我试过这个 - 我使用 CalendarApp 来调用事件 id 但它返回 null?!
我希望我的其中一列自动填充我日历中的所有 eventID,以及当我需要更新或创建新的以防止重复时。有人可以为此提供一个想法吗?
我正在尝试使用电子表格创建“事件创建者”,但我无法弄清楚。
好的,我用工作表创建了一些事件(如 5 或 6),但我的问题是当我想更新其中一个事件的一些信息并导出它们时 - 它们重复。所以就像我看到我需要使用事件 id 但我不知道如何。我试过这个 - 我使用 CalendarApp 来调用事件 id 但它返回 null?!
我希望我的其中一列自动填充我日历中的所有 eventID,以及当我需要更新或创建新的以防止重复时。有人可以为此提供一个想法吗?
将明年事件从日历复制到对话框和电子表格
希望这个脚本能帮助您开始您的项目。不要忘记将您的日历 ID 添加到第 4 行。
function getCalendarEventsForNextYear() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getActiveSheet();
var cal=CalendarApp.getCalendarById("calendar id");//change calendar id
var startTime=new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()-1);
var endTime=new Date(new Date().getFullYear()+1,new Date().getMonth(),new Date().getDate());
var events=cal.getEvents(startTime, endTime);
var rA=[["ID","Title","Start Date","End Date","Description"]];
var html="";
for(var i=0;i<events.length;i++) {
html+=Utilities.formatString('ID: %s<br />Title: <strong>%s</strong><br />Start Date: <strong>%s</strong><br />End Date: <strong>%s</strong><br />Description:<strong>%s</strong><br /><hr width="30%" align="left" />',events[i].getId(),events[i].getTitle(),Utilities.formatDate(new Date(events[i].getStartTime()),Session.getScriptTimeZone(), "E MMM dd, yyyy"),Utilities.formatDate(new Date(events[i].getEndTime()),Session.getScriptTimeZone(), "E MMM dd, yyyy"),events[i].getDescription());
rA.push([events[i].getId(),events[i].getTitle(),Utilities.formatDate(new Date(events[i].getStartTime()),Session.getScriptTimeZone(), "E MMM dd, yyyy"),Utilities.formatDate(new Date(events[i].getEndTime()),Session.getScriptTimeZone(), "E MMM dd, yyyy"),events[i].getDescription()]);
}
html+='<br /><input type="button" value="Close" onClick="google.script.host.close();" />';
var userInterface=HtmlService.createHtmlOutput(html).setWidth(1000);
SpreadsheetApp.getUi().showModelessDialog(userInterface, "Events for Next Year");
sh.clear();
sh.getRange(1,1,rA.length,rA[0].length).setValues(rA);
sh.getRange(1,1,1,sh.getLastColumn()).setFontWeight("bold");
sh.autoResizeColumns(1, sh.getLastColumn());
}