如何在getRange中使用var

时间:2018-05-27 16:38:32

标签: google-apps-script google-sheets

是否可以在getRange中使用var(以A1表示法)?

function reservar() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var form = ss.getSheetByName("Respuestas de formulario 1");
var ss_calendario = SpreadsheetApp.openById('1r0jLPIfOAmOD7Lim9qmscQsrx5GAworz6ug1O-XAHDg');
var calendario = ss_calendario.getSheetByName("Disponibilidad");

var rango = form.getRange(1,1,form.getLastRow(),16);
var data = rango.getValues()

for (var i = 0; i < data.length; ++i) {  
  var columna = data[i];
  var disponible = columna[9];
  var celda = columna[14];

  if(disponible == "Disponible"){
    calendario.getRange(celda).setValue(true);
  }
 }
}

在代码的最后一行,我试图将var celda的A1表示法值的日历日设置为true,但我一直收到no interval found消息。

  

[18-05-27 14:06:54:406 ART] Sheet.getRange([“Celda”])[0,108 segundos]
  [18-05-27 14:06:54:455 ART]Ejecuciónfallida:没有其他人可以参加。 (línea16,archivo“Código”)[0,478 segundos de tiempodeejecucióntotal]

我认为它正在传递["Celda"],这不是我正在寻找的价值类型吗?即“B71”

1 个答案:

答案 0 :(得分:1)

看起来你得到的值是工作表上的列标题,特别是因为你的循环从0开始。

更改

for (var i = 0; i < data.length; ++i) {  

for (var i = 1; i < data.length; ++i) {