如何在Google脚本编辑器中引用单元格内部的日期?

时间:2020-02-04 17:02:34

标签: google-apps-script google-sheets

我正在编写一个脚本,用于将事件从Google日历拖到Google表格中以保留单个日期。我希望用户能够在电子表格上键入日期(在这种情况下,在单元格F1中),然后在运行脚本时,脚本会获取相关日期的所有事件。但是,使用当前代码,我只能在脚本编辑器中输入日期,因为当我尝试引用F1代替写出的日期时,脚本将无法运行。我在做什么错了?

function getEvents() {

    var ss= SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var cal = CalendarApp.getCalendarById("email@email.com");
    var events = cal.getEventsForDay(new Date("2/5/2020"));

    for(var i = 0;i<events.length;i++){
    var title = events[i].getTitle();
    Logger.log(title);
    ss.getRange(i+2, 1).setValue(title);
 }    
}

简而言之,我很想引用第5行中的单元格,而不是日期字符串。 抱歉,如果这是如此简单,我之前从未编码过,所以这对我来说是全新的!谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

  • 您要检索使用getEventsForDay(Date)检索的事件的标题。
  • 您要从电子表格的活动工作表上的单元格“ F1”中检索Date中的getEventsForDay(Date)
  • 您要将标题放在活动工作表第2行的“ A”列。
  • 您想使用Google Apps脚本实现这一目标。

如果我的理解正确,那么这个答案如何?请认为这只是几个可能的答案之一。

修改后的脚本:

修改脚本后,请进行以下修改。

从:
var cal = CalendarApp.getCalendarById("email@email.com");
var events = cal.getEventsForDay(new Date("2/5/2020"));
至:
var inputtedValue = ss.getRange("F1").getValue();
var cal = CalendarApp.getCalendarById("email@email.com");
var events = cal.getEventsForDay(inputtedValue);
  • 当单元格的值为Date对象时,可以将getValue()检索为Date对象。
    • 如果单元格“ F1”的值不是“日期”对象,则可能会发生错误。在这种情况下,您可以提供示例电子表格吗?由此,我想确认一下。

参考文献: