首页 > 解决方案 > 使用电子表格最后一行的数据创建事件

问题描述

我无法停止甚至选择正确的数据来自动化例程。

我的代码的目的是使用 Google 表格中的数据在 Google 日历上创建事件。但是,我当前的代码为电子表格中的所有数据生成事件,我只需要为最后一行生成事件(因为我已经设法为代码设置触发器,以便在提交表单后立即运行)

我知道可以使用 getLastRow,但我遇到了语法困难。有谁能够帮我?

我发现的解决方案不仅出色,而且非常复杂和广泛。简而言之,我只想使用电子表格最后一行的数据创建事件。

非常感谢您!

var app=SpreadsheetApp;
var calendar=CalendarApp.getCalendarById('x...@gmail.com');
var sheet=app.getActiveSheet();

//calendar
function myCalendar()
{
  var range=sheet.getRange('A2:I').getValues();
  range.map(function(elem,ind,obj){
    if(elem[0]!=""){
      calendar.createEvent(elem[1]+" - "+elem[2], elem[3], elem[4])
      }
  })
}

标签: javascriptgoogle-apps-scriptgoogle-sheetsgoogle-calendar-api

解决方案


function myCalendar() {
  const calendar = CalendarApp.getCalendarById('x...@gmail.com');
  const sheet = SpreadsheetApp.getActiveSheet();
  const vs = sheet.getRange(2, 1, sheet.getLastRow() - 1, 9).getValues();
  vs.forEach(r => {
    if (r[0] != "") {
      calendar.createEvent(r[1] + " - " + r[2], r[3], r[4])
    }
  });
}

推荐阅读