简体   繁体   English

如何在Google脚本中组合功能?

[英]How do I combine functions in Google Scripts?

I'm pretty code illiterate, so I took other peoples stuff and tried smashing it together so it might look stupid, just laying all my cards out. 我的代码很不错,所以我拿了其他人的东西,试着将它们粉碎在一起所以它看起来很愚蠢,只是把我的所有卡片都放了出来。

I tried running all the scripts individually, but I saw that you can't do that in a different post on this site. 我尝试单独运行所有脚本,但我看到你不能在这个网站的不同帖子中这样做。 Tried combining them, played with it a few hours but didn't achieve jack. 尝试结合它们,玩了几个小时,但没有实现杰克。

  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.');
}
}

When I run the script as is, it has no errors and nothing happens on edit except the ss.toast popup. 当我按原样运行脚本时,它没有错误,除了ss.toast弹出窗口外,编辑没有任何反应。 The script should've sorted all the data across the 4 sheets every time an edit event was registered had I not jacked something up. 每次注册编辑事件时,脚本都应该对4张纸上的所有数据进行排序。

Based upon what I can see in your script this should be able to do it for you. 根据我在脚本中看到的内容,这应该可以为您完成。

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');
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM