如何在 google 脚本中自动删除具有多个 sheet 的行

How to make automatically delete rows with multiple sheet in google script

如何根据触发器在 google 脚本中自动删除具有多个 sheet 的行,我使用过这个脚本并且它有效,但我希望这个脚本能够使用两个或多个选项卡 sheet 一次,而当前脚本仅使用一个选项卡 sheet。如何在 getSheetByName 中使用多个标签 sheet? 谁能帮我?因为我每次在这里问都没有人回答,这是我的第三个问题,前两个没有人帮忙回答。是不是有什么问题我不知道。

function acraCleanup() { 
  var SPREADSHEET_KEY = "AABVGGHJGFGDFG4GFD65GHDF56HGFHG53";

// Replace with your spreadsheet Key,

//you can find this by trying to share the Spread sheet

// and getting the key between the "=" and the "&" 

  var SHEET_NAME = "Sheet 1"; //Sheet 1 unless you changed the sheet name 
  var rowsToKeep = 1000; //Will keep bottom 1000 Rows 
  var sheet  = SpreadsheetApp.openById(SPREADSHEET_KEY).getSheetByName(SHEET_NAME); 
  var rows = sheet.getLastRow(); 
  var numToDelete = rows – rowsToKeep  -1; 
  if (numToDelete > 0) sheet.deleteRows(2, numToDelete); 
}

尝试

function acraCleanup() { 
  var SPREADSHEET_KEY = "AABVGGHJGFGDFG4GFD65GHDF56HGFHG53";
  var rowsToKeep = 1000; //Will keep bottom 1000 Rows 
  const list = ['SheetX','SheetY'];
  var ss  = SpreadsheetApp.openById(SPREADSHEET_KEY)
  ss.getSheets().filter(sh => list.indexOf(sh.getName()) != -1).forEach(function (sheet){
    var rows = sheet.getLastRow(); 
    var numToDelete = rows - rowsToKeep  - 1; 
    if (numToDelete > 0) sheet.deleteRows(2, numToDelete);
  })
}

在 header

下方保留 1000 行
function acraCleanup() { 
  const list = ['Sheet1','Sheet2'];
  var ss  = SpreadsheetApp.openById("ssid")
  ss.getSheets().filter(sh => ~list.indexOf(sh.getName())).forEach(sheet => {
    let rows = sheet.getLastRow(); 
    if(rows > 1001) {
      sheet.deleteRows(2 ,rows - 1001)
    }
  });
}