插入行时无效的脚本

时间:2017-10-31 18:22:22

标签: google-apps-script google-sheets

在Google电子表格的脚本中,我设法创建一个脚本来自动排序我的电子表格:

function onEdit(event){
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getActiveSheet();
    var editedCell = sheet.getActiveCell();

    var tableRange = "A2:G100";

    if(editedCell.getColumn() == 1,2){   
    var range = sheet.getRange(tableRange);
    range.sort( [1,2] );
      }
    }

我的问题是我在插入新行时需要脚本无法运行。我希望人们能够插入一行,并且只有在我们编辑第1列或第2列时才会对工作表进行排序。

这可能吗?

如果没有,可能每隔2或3分钟就会激活一次。这真的不是最好的,但是,如果真的没有别的,我可能会忍受它。

提前致谢!

1 个答案:

答案 0 :(得分:1)

我会改写这个: 我不确定以下代码所以我测试了它并且它对我不起作用。

if(editedCell.getColumn()==1,2)
{   
  var range = sheet.getRange(tableRange);
  range.sort( [1,2] );
}

喜欢这样:

var ecol=editedCell.getColumn();
if(ecol==1 || ecol==2)
{   
  var range = sheet.getRange(tableRange);
  range.sort( [{column: 2, ascending: true}, {column: 1, ascending: true}]);
}
  

您可能希望尝试使用可安装的onChange事件,因为您可以使用e.changeType参数if(e.changeType=='EDIT')来指定您希望允许的更改。 Reference