google 应用程序脚本添加到变量

google apps script addition to variable

为什么当我运行这个函数时,“1”被附加到变量,而不是添加到它。 我想我的语法有误,但不知道为什么? :\

  
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var dataSheet = ss.getSheetByName("TEST");

  //get last cell with data on cloumn A
  var columnA = dataSheet.getRange("A" + dataSheet.getMaxRows());
  var Alast = columnA.getNextDataCell(SpreadsheetApp.Direction.UP).getA1Notation().slice(1);
  
  //get last cell with data on cloumn C
  var columnC = dataSheet.getRange("C" + dataSheet.getMaxRows());
  var Clast = columnC.getNextDataCell(SpreadsheetApp.Direction.UP).getA1Notation().slice(1);
  
  
  for (var counter = Clast + 1; counter <= Alast; counter = counter +1) {
  Logger.log(counter);}
  }

这是记录器输出:

1
11
111
Execution cancelled

谢谢

我以为是columnA.getNextDataCell(SpreadsheetApp.Direction.UP).getA1Notation().slice(1)columnC.getNextDataCell(SpreadsheetApp.Direction.UP).getA1Notation().slice(1)return的字符串值。我认为这就是你的问题的原因。在您的脚本中,进行以下修改怎么样?

发件人:

//get last cell with data on cloumn A
var columnA = dataSheet.getRange("A" + dataSheet.getMaxRows());
var Alast = columnA.getNextDataCell(SpreadsheetApp.Direction.UP).getA1Notation().slice(1);

//get last cell with data on cloumn C
var columnC = dataSheet.getRange("C" + dataSheet.getMaxRows());
var Clast = columnC.getNextDataCell(SpreadsheetApp.Direction.UP).getA1Notation().slice(1);

收件人:

//get last cell with data on cloumn A
var columnA = dataSheet.getRange("A" + dataSheet.getMaxRows());
var Alast = columnA.getNextDataCell(SpreadsheetApp.Direction.UP).getRow(); // Modified

//get last cell with data on cloumn C
var columnC = dataSheet.getRange("C" + dataSheet.getMaxRows());
var Clast = columnC.getNextDataCell(SpreadsheetApp.Direction.UP).getRow(); // Modified
  • 修改后,AlastClast为整数值

参考: