Google Apps脚本,onEdit功能在编辑范围内不会有任何价值

时间:2017-06-15 08:44:54

标签: javascript google-apps-script

我在Google表格中创建了一个任务管理器,当创建任务时,它会将刚刚发送给目标工作表的任务发送给我,我能够让它将数据发送到目标工作表,但是我的问题在于我想对目标表上的编辑做些什么。在目标表上,我希望它获取刚刚输入的信息并将其放在下一个可用行中,但是当我测试我的代码时它不能正常工作。

我的代码(针对目标表):

function onEdit (e) {
var ss = SpreadsheetApp.openById('SheetIdHere'); 
  var sheet = ss.getSheets()[0];
  var sheetRows = sheet.getMaxRows();
  var openRow = 0;  
  for (var i =4;i < sheetRows;i++) {
  var currentValue = sheet.getRange(i,2).getValue();
    if (currentValue == "") {
    openRow = i;
      break;

    }
  }
  var lastEdit = sheet.getRange(1000, 2, 1, 3);
  var lastEditValues = lastEdit.getValues();
   var openRange = sheet.getRange(openRow, 2, 1, 3);
  var openA1 = openRange.getA1Notation();
  sheet.getRange(openA1).setValues(lastEditValues);
}

到目前为止,我的测试中找到下一个可用行的for循环工作正常,因为当我在工作表上进行另一次更改后,它将获取编辑后的信息并将其输入下一行,但是在最初的onEdit触发时,它只会抓取第1000行上一次测试的值并将其放入下一行而不是新值。 我觉得在抓取价值时可能会出现错误,因为如果我清理工作表并发送新任务,则下一个可用行上没有任何内容,但我可能会误认为这种感觉。

0 个答案:

没有答案