从选项卡名称创建列表但希望排除特定选项卡(谷歌表)

时间:2021-07-09 17:19:56

标签: google-apps-script

我希望在工作簿中列出所有选项卡名称,我遵循了用户 Iamblichus 的回复,并且效果很好。我唯一想排除工作簿中的 4 个特定选项卡。脚本如下:

function createOnChangeTrigger() {  
  const ss = SpreadsheetApp.getActive();
  ScriptApp.newTrigger("writeSheetNames")
  .forSpreadsheet(ss)
  .onChange()
  .create();
}



function writeSheetNames() {
  const ss = SpreadsheetApp.getActive();
  const sheetNames = ss.getSheets().map(sheet => [sheet.getName()]);
  const sheet = ss.getSheetByName("Sheet24");
  sheet.getRange("A:A").clear(); // Delete previous data
  sheet.getRange(1,1,sheetNames.length).setValues(sheetNames);
}

首先创建一个触发器然后执行。想要排除 4 个特定选项卡。谢谢。

在此处找到原始帮助: List names of sheets in Google Sheets

1 个答案:

答案 0 :(得分:1)

function writeSheetNames() {
  const excl = ['Sheet1'];//sheet names to exclude
  const ss = SpreadsheetApp.getActive();
  const sheetNames = ss.getSheets().map(sheet => [sheet.getName()]).filter(n => !~excl.indexOf(n[0]));
  const sheet = ss.getSheetByName("Sheet24");
  sheet.getRange("A:A").clear(); // Delete previous data
  sheet.getRange(1,1,sheetNames.length).setValues(sheetNames);
}