如何合并Google脚本中的功能?

时间:2019-04-30 02:18:59

标签: javascript google-apps-script

我的代码简直就是文盲,所以我拿走了其他人的东西,然后尝试将它们粉碎在一起,这样看起来可能很愚蠢,只需将我的所有卡片都放好。

我尝试单独运行所有脚本,但是在该站点的另一篇文章中看到您无法做到这一点。尝试将它们组合在一起,玩了几个小时,但没有达到目标。

  myFunction1();
  myFunction2();
  myFunction3();
  myFunction4();
SHEET_NAME = "Top5k";
SORT_DATA_RANGE = "A2:B999";
SORT_ORDER = [
{column: 1, ascending: false},
];

function myFunction1(e){
  multiSortColumns();
}
function multiSortColumns(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName(SHEET_NAME);
  var range = sheet.getRange(SORT_DATA_RANGE);
  range.sort(SORT_ORDER);
  ss.toast('Sort complete.');
}

SHEET_NAME = "TopR1";
SORT_DATA_RANGE = "A2:B999";
SORT_ORDER = [
{column: 1, ascending: false},
];

function myFunction2(e){
  multiSortColumns();
}
function multiSortColumns(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName(SHEET_NAME);
  var range = sheet.getRange(SORT_DATA_RANGE);
  range.sort(SORT_ORDER);
  ss.toast('Sort one complete.');
}

SHEET_NAME = "TopR2";
SORT_DATA_RANGE = "A2:B999";
SORT_ORDER = [
{column: 1, ascending: false},
];

function myFunction3(e){
  multiSortColumns();
}
function multiSortColumns(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName(SHEET_NAME);
  var range = sheet.getRange(SORT_DATA_RANGE);
  range.sort(SORT_ORDER);
  ss.toast('Sort complete.');
}

SHEET_NAME = "TopR3";
SORT_DATA_RANGE = "A2:B999";
SORT_ORDER = [
{column: 1, ascending: false},
];

function myFunction4(e){
  multiSortColumns();
}
function multiSortColumns(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName(SHEET_NAME);
  var range = sheet.getRange(SORT_DATA_RANGE);
  range.sort(SORT_ORDER);
  ss.toast('Sort complete.');
}
}

按原样运行脚本时,它没有错误,并且除了ss.toast弹出窗口外,编辑时均无任何反应。每次我注册一个编辑事件时,如果我不做任何准备,该脚本都应该对4个工作表中的所有数据进行排序。

1 个答案:

答案 0 :(得分:0)

根据我在您的脚本中看到的内容,这应该能够为您完成。

function sortingStuff() {
  var ss=SpreadsheetApp.getActive();
  ss.getSheetByName('Top5K').getRange('A2:B999').sort({column:1,ascending:false});
  ss.getSheetByName('TopR1').getRange('A2:B999').sort({column:1,ascending:false});
  ss.getSheetByName('TopR2').getRange('A2:B999').sort({column:1,ascending:false});
  ss.getSheetByName('TopR3').getRange('A2:B999').sort({column:1,ascending:false});
  ss.toast('Sorting Complete');
}