我有一个脚本可以从日历中检索所有事件并将它们放入工作表中。我试图通过引用活动工作表中的单元格B2来使该脚本动态化,这样我就可以更改日历ID,而无需每次都跳转到“脚本”工具。
原始代码:
var mycal = "IDNUMBERHERE@group.calendar.google.com";
var cal = CalendarApp.getCalendarById(mycal);
var events = cal.getEvents(new Date("January 1, 2017 23:59:59 CST"), new Date("January 1, 2018 23:59:59 CST"));
新代码:
var cal = CalendarApp.getCalendarById(SpreadsheetApp.getActiveSheet().getRange("B2").getValue());
var events = cal.getEvents(new Date("January 1, 2017 23:59:59 CST"), new Date("January 1, 2018 23:59:59 CST"));
运行新代码,我不断收到错误" TypeError:无法调用方法" getEvents" null。"我猜这与我有什么关系' var cal'没有正确设置。有什么想法吗?
答案 0 :(得分:0)
对于任何好奇的人,只需执行以下操作即可解决。
var mycal = SpreadsheetApp.getActiveSheet().getRange("c2").getValue(); // PULL CALENDAR ID FROM CELL
var cal = CalendarApp.getCalendarById(mycal);
答案 1 :(得分:-1)
我遇到了同样的问题。尝试使用getDisplayValue()
更改getValue()