应用程序脚本中允许我的代码单独运行每一行的正确 Range 函数是什么?

问题描述 投票:0回答:1

我创建了一个围绕重复事件的 Google 电子表格。重复事件的输入经过编码以填充我的 Google 日历。当我运行代码时,它会正常工作,只是它只运行第一行。我知道这与我的 Range 参数有关。我什至可以通过执行 ss.getRange("whatever number row here",2).getValue() 来选择要运行的行。但我从来没有能够运行所有的行,而且我不知道该怎么做。请帮忙!

function onOpen(){
  SpreadsheetApp.getUi().createMenu("Pop").addItem("Create Event",
  "recurring_event").addToUi()
}
function recurring_event() {
  var row = 2
  var ws = SpreadsheetApp.getActiveSpreadsheet();
  var ss = ws.getSheetByName("sheet6")
  var title = ss.getRange(row, 1,1000).getValue()
  var start_date = ss.getRange(row, 2,1000).getValue()
  var duration = ss.getRange(row, 3,1000).getValue()
  var repetition = ss.getRange(row, 4,1000).getValue()

  var end_date = new Date(start_date)
  end_date.setTime(end_date.getTime()+1000*60*duration)

  var recurrence =""
  if(repetition=="3 Month") recurrence = CalendarApp.newRecurrence().
  addMonthlyRule().interval(3)
  else if(repetition=="6 Month") recurrence = CalendarApp.newRecurrence().
  addMonthlyRule().interval(6)
  else if(repetition=="annually") recurrence = CalendarApp.newRecurrence().
  addYearlyRule() 

  CalendarApp.createEventSeries(title, start_date, end_date,recurrence)
}

我尝试过执行 ss.getRange(2,3,1000).getValue 希望它能返回接下来的 1000 行,但没有。我也玩过 ss.getDataRange() 但我不知道我是否做得正确。我只是不知道下一步会发生什么。

google-sheets google-apps-script range google-calendar-api
1个回答
0
投票

来自问题

我尝试过执行 ss.getRange(2,3,1000).getValue 希望它能返回接下来的 1000 行,但没有。

SpreadsheetApp.Range.getValue
方法仅返回一个单元格的值,无论有多少个单元格具有范围。要获取范围内所有单元格的值,请使用
SpreadsheetApp.Range.getValues

© www.soinside.com 2019 - 2024. All rights reserved.