首页 > 解决方案 > SORT 脚本适用于所有者,但不适用于编辑

问题描述

我编写了脚本以按 A 列对 google 工作表进行排序,然后将您带到您刚刚编辑的那个旁边的单元格,我让它对我的所有者完美地工作,但对于编辑来说,似乎没有任何工作从“排序”功能。

我认为这意味着它的某些部分是可安装的触发器?但据我所知,我已经通过简单的触发器完成了这一切。

function onEdit(e) {
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getActiveSheet();
var cell = sheet.getActiveCell();
var NEXTcell = sheet.getActiveRange().offset(0,1);
var range = e.range;
var columnOfCellEdited = range.getColumn();
var sheet = spreadsheet.getActiveSheet();


// When Column A edited
if (columnOfCellEdited === 1) {// Column 1 is Column A

//Set marker
NEXTcell.setValue('sorting');

// Sort whole sheet excluding first 2 rows by Column A.
sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns()).activate();
spreadsheet.getActiveRange().offset(2, 0, spreadsheet.getActiveRange().getNumRows() - 2).sort({column: 1, ascending: true});

// Find original cell after sorting
var rowoffset = 3;
var rng = sheet.getRange(rowoffset, 2, 600);
var data = rng.getValues();
var search = "sorting";

  for (var i=0; i < data.length; i++) {
    if (data[i][0] == search) {
      data[i][0] = "";
      rng.setValues(data);

      var foundcell = sheet.getRange((i+rowoffset), 2);
      foundcell.activate();

      break;
    }
  }

} }

标签: google-apps-scriptgoogle-sheetsspreadsheet

解决方案


因此,Stackdriver 会为双赢而记录。原来我没有考虑过的保护是罪魁祸首。


推荐阅读