我可以使用单元格数组作为脚本的值吗?



我找到了一个非常适合我需求的脚本,但我想进行更改,以便它更好地工作。 我想更改的是选择选项卡/工作表中的单元格数组的行var hideSheetsContaining = "tw";,因为值会定期更改并且更容易编辑。

function hideTW() {
  // My clumsy edit!
  var hideSheetsContaining = "tw";
  // Original script
  // var hideSheetsContaining = Browser.inputBox("Hide sheets with names containing:");
  if (sheetMatch(hideSheetsContaining)){
    for (var i = 0; i < sheetsCount; i++){
      var sheet = sheets[i]; 
      var sheetName = sheet.getName();
      Logger.log(sheetName); 
      if (sheetName.indexOf(hideSheetsContaining.toString()) !== -1){
        Logger.log("HIDE!");
        sheet.hideSheet();
      }
    }
  } else { 
    noMatchAlert();
  }
}

如果我不能使用单元格数组,我怎样才能将其从单个字符串更改为几个不同的值? 理想情况下,它们是精确值,但"包含..."列表也会起作用。

谢谢!

我稍微编辑了您的代码并添加了一个数组来保存要搜索和删除的字符串。用字符串填充数组并尝试。

function hideTW() {
  // My clumsy edit!
  var hideSheetsContaining = ['str1', 'str2', 'str3']; // put strings to search here
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheets = ss.getSheets();
  sheets.forEach(function(sheet) {
    var sheetName = sheet.getName();
    hideSheetsContaining.forEach(function(str) {
      if (sheetName.indexOf(str) !== -1) {
        Logger.log('HIDE-' + sheetName);
        sheet.hideSheet();
      }
    });
  });
}

最新更新