我创建了以下脚本来对google工作表中的某些页面上的数据进行排序,它只会运行第二个函数而不是第一个函数。我是编程和从excel切换到工作表的新手。我确信它的东西很小而且很明显,但我无法弄明白。我感谢任何帮助。
function onEdit(event){
var sheet = event.source.getActiveSheet();
if(sheet.getName() ==='ADMIN')
var editedCell = sheet.getActiveCell();
var columnToSortBy = 1;
var tableRange = "A2:G48"; // What to sort.
if(editedCell.getColumn() == columnToSortBy){
var range = sheet.getRange(tableRange);
range.sort( { column : columnToSortBy, ascending: true } );
}
}
function onEdit(event){
var sheet = event.source.getActiveSheet();
if(sheet.getName() ==='HQ', 'ARMT', 'MAINT', 'AVNX', 'SHOPS')
var editedCell = sheet.getActiveCell();
var columnToSortBy = 2;
var tableRange = "A4:D40"; // What to sort.
if(editedCell.getColumn() == columnToSortBy){
var range = sheet.getRange(tableRange);
range.sort( { column : columnToSortBy, ascending: true } );
}
}
答案 0 :(得分:0)
在javascript和google脚本中,函数是对象。你在这里做的是创建一个对象(函数onEdit)然后再创建它。这就像将一个名为xyz的变量设置为4然后将同一个变量设置为14.最后一个变量就是重要的。您可以通过将函数合并在一起来完成所需的操作,这样您就可以使用一个onEdit,或者以不同方式命名一个(或两者)并让onEdit调用它们。
function onEdit(event) {
first(event);
second(event);
}
function first(event) {
var sheet = event.source.getActiveSheet();
if (sheet.getName() === 'ADMIN')
var editedCell = sheet.getActiveCell();
var columnToSortBy = 1;
var tableRange = "A2:G48"; // What to sort.
if (editedCell.getColumn() == columnToSortBy) {
var range = sheet.getRange(tableRange);
range.sort({
column: columnToSortBy,
ascending: true
});
}
}
function second(event) {
var sheet = event.source.getActiveSheet();
if (sheet.getName() === 'HQ', 'ARMT', 'MAINT', 'AVNX', 'SHOPS')
var editedCell = sheet.getActiveCell();
var columnToSortBy = 2;
var tableRange = "A4:D40"; // What to sort.
if (editedCell.getColumn() == columnToSortBy) {
var range = sheet.getRange(tableRange);
range.sort({
column: columnToSortBy,
ascending: true
});
}
}