【问题标题】:Creating a list from tab names but looking to exclude specific tabs (google sheets)从选项卡名称创建列表但希望排除特定选项卡(谷歌表)
【发布时间】:2021-07-10 01:35:23
【问题描述】:

我希望在工作簿中列出所有选项卡名称,我遵循用户 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

【问题讨论】:

    标签: google-apps-script


    【解决方案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);
    }
    

    【讨论】:

    • 所以这确实有效,但它每次都会删除 a 列中的格式,以前的函数没有这样做。任何进一步的帮助将不胜感激!
    • 这是提供排除工作表名称的功能的部分:const sheetNames = ss.getSheets().map(sheet => [sheet.getName()]).filter(n => !~excl.indexOf(n[0])); 所以只需将其合并到旧功能中即可。
    • 感谢您的帮助!
    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    相关资源
    最近更新 更多