循环后执行操作

时间:2017-05-10 16:52:29

标签: google-apps-script

GoogleAppheets中的GoogleAppScript

以下代码正常工作,直到我尝试在循环后执行任何操作。它正确记录了“---- CUT HERE ----”这一行的值。但在记录行号后,我无法让它执行下一个任务。我错过了什么?

function FORMATKPIREPORT() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var dataRange = sheet.getDataRange();
  var values = dataRange.getValues();

  for (var i = 0; i < values.length; i++) {
  for (var j = 0; j < values[i].length; j++) {
  if (values[i][j] == "----CUT HERE----") {
  var cuthere = i+1;Logger.log(cuthere);return i+1;
  }
  }
  }

  var lastrow = sheet.getLastRow();
  Logger.log(lastrow);

}

现在我知道CutHere行是什么,我想找到LastRow。

1 个答案:

答案 0 :(得分:1)

您无法获得"--------Cut here--------"之后的任何内容的原因是您使用return语句终止该行之后的代码

所以在以下一行:

var cuthere = i+1;Logger.log(cuthere);return i+1;

return终止代码,使用break代替退出循环。

function FORMATKPIREPORT() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var dataRange = sheet.getDataRange();
  var values = dataRange.getValues();

  for (var i = 0; i < values.length; i++) {
  for (var j = 0; j < values[i].length; j++) {
  if (values[i][j] == "----CUT HERE----") {
  var cuthere = i+1;Logger.log(cuthere);break;
  }
  }
  }

  var lastrow = sheet.getLastRow();
  Logger.log(lastrow);

}