排序功能停止工作 - Google Apps脚本&床单

时间:2018-02-07 21:27:56

标签: sorting google-apps-script google-sheets google-apps-script-editor

我在这里有点头疼。我过去半年一直使用以下代码来检测Google表格中的编辑,标记日期,然后按日期从最旧到最新排序我的表格:

function onEdit(e) {
  bidTime(e)
}

function bidTime(e) {
  var sheet = e.source.getActiveSheet(); //gets the active sheet being edited
  var sheetName = 'Active Bids'; //name of the sheet the script should work on
  var editCell = sheet.getActiveCell(); //gets the active cell being edited
  var colToWatch = 3 // watches for edits made in col C
  var colToStamp = 4 //timestamp in col D
  if (e.range.columnStart !== colToWatch || e.source.getActiveSheet()
    .getName() !== sheetName || e.value == '') return; {
  var writeVal = e.value !== '0' ? new Date() : "No bid.";
  e.source.getActiveSheet()
      .getRange(e.range.rowStart, colToStamp)
      .setValue(writeVal);
    }
  function bidSort() {
    var colSort = 5;
    var tableRange = "A2:Z150";
    if (editCell.getColumn() == colToWatch){
    var range = sheet.getRange(tableRange);
    range.sort( {column: colSort, ascending: true} );
    }
  }
  //function bidAmount() {
  //  var value = editCell.getValue();
  //  if (editCell.getColumn() == colToWatch AND value <= 0) return; {
  //}
  bidSort();
}

直到今天下午,它一直在完美地工作,我正在修改bidAmount功能,我不知道它是否对我的代码做了些什么(我不知道怎么做?)但现在我的将日期戳应用于第4列后,工作表不再排序。

我已经尝试将bidSort函数分解为它自己的函数,并将这两个函数合并到onEdit函数中,似乎都没有做任何事情。我还尝试在bidSort函数中再次定义变量(这在今天下午之前是不必要的)并且仍然没有骰子。

我确实对所引用的电子表格做了一些很大的修改,并在电子表格中添加了另一张表,但我不明白为什么这些会影响我的代码。

有没有人知道会发生什么?几个月来,代码几乎没有变化,今天才开始给我提问。

如果您需要任何进一步的信息,请与我们联系!

0 个答案:

没有答案