如何读取和存储单元格值以在Sheets脚本中使用?

时间:2017-05-09 19:54:25

标签: google-apps-script google-sheets google-calendar-api

我有一个脚本可以从日历中检索所有事件并将它们放入工作表中。我试图通过引用活动工作表中的单元格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'没有正确设置。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

对于任何好奇的人,只需执行以下操作即可解决。

  var mycal = SpreadsheetApp.getActiveSheet().getRange("c2").getValue(); // PULL CALENDAR ID FROM CELL
  var cal = CalendarApp.getCalendarById(mycal);

答案 1 :(得分:-1)

我遇到了同样的问题。尝试使用getDisplayValue()

更改getValue()