【问题标题】:How to make this sorting script run in all tabs except certain tabs (Sheets)?如何使此排序脚本在某些选项卡(工作表)以外的所有选项卡中运行?
【发布时间】:2022-12-01 03:46:55
【问题描述】:

我正在尝试对 google 工作表上的特定列进行排序,但排除了几个不同的选项卡。我在工作中大量使用谷歌脚本,但我从 Stack 获得的大部分脚本然后编辑它们,因为我不是开发人员/工程师,我担任非技术角色,但我对编码了解很少。

知道编码的人可以告诉我我做错了什么吗?

我知道有一种更有效的方法来执行列和升序的命名约定,我稍后会更改它,但想看看是否有人知道我为什么会收到此错误?谢谢!

我从我更改过的 Stack 帖子中找到了这段代码,我觉得它应该可以工作,但我一直在我的触发器“onEdit”上收到此错误:

“错误:范围的坐标超出了工作表的尺寸。”

 function sortEverySheetTest() {
  var excludeSheetNames = ["Sheet 1","Sheet 2","Sheet 3", "Sheet 4", "Sheet 5", "Sheet 6", "Sheet 7", "Sheet 8"]; // <--- Added

  var sortFirst = 5;
  var sortFirstAsc = true;
  var sortSecond = 6;
  var sortSecondAsc = true;
   var sortThird = 7;
  var sortThirdAsc = true;
  var headerRows = 2;
  var activeSheet = SpreadsheetApp.getActiveSheet();
  var sheetName = activeSheet.getSheetName();

  if (excludeSheetNames.includes(sheetName)) return; // <--- Added

  var sheet = SpreadsheetApp.getActive().getSheetByName(sheetName);
  var range = sheet.getRange(headerRows+1, 1, sheet.getMaxRows()-headerRows, sheet.getLastColumn());
  range.sort([{ column: sortFirst, ascending: sortFirstAsc }, { column: sortSecond, ascending: sortSecondAsc }, { column: sortThird, ascending: sortThirdAsc }]);
}

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    尝试这个:

    function onMyEdit(e) {
      const excl = ["Sheet 1","Sheet 2","Sheet 3", "Sheet 4", "Sheet 5", "Sheet 6", "Sheet 7", "Sheet 8"]; 
      const sh = e.range.getSheet();
      const shts = e.source.getSheets().filter(sh => !~excl.indexOf(sh.getName())).map(sh => sh.getName());
      const idx = shts.indexOf(sh.getName());
      if(~idx) {
        let rg = sh.getRange(3,1,sh.getLastRow() - 2,sh.getLastColumn());
        rg.sort([{column:5,ascending:true},{column:6,ascending:true},{column:7,ascending}]);
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      • 2017-12-28
      相关资源
      最近更新 更多