如何读取和存储用于表格脚本的单元格值?
How to read and store a cell value for use in Sheets script?
我有一个脚本可以从日历中检索所有事件并将它们放入 sheet。我试图通过在活动 sheet 中引用单元格 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: Cannot call method "getEvents" of null。"我猜这与我 'var cal' 没有正确设置有关。有什么想法吗?
我遇到了同样的问题。尝试将 getValue() 更改为 getDisplayValue()
对于任何好奇的人,只需执行以下操作即可解决此问题。
var mycal = SpreadsheetApp.getActiveSheet().getRange("c2").getValue(); // PULL CALENDAR ID FROM CELL
var cal = CalendarApp.getCalendarById(mycal);
我有一个脚本可以从日历中检索所有事件并将它们放入 sheet。我试图通过在活动 sheet 中引用单元格 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: Cannot call method "getEvents" of null。"我猜这与我 'var cal' 没有正确设置有关。有什么想法吗?
我遇到了同样的问题。尝试将 getValue() 更改为 getDisplayValue()
对于任何好奇的人,只需执行以下操作即可解决此问题。
var mycal = SpreadsheetApp.getActiveSheet().getRange("c2").getValue(); // PULL CALENDAR ID FROM CELL
var cal = CalendarApp.getCalendarById(mycal);