在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分钟就会激活一次。这真的不是最好的,但是,如果真的没有别的,我可能会忍受它。
提前致谢!
答案 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