Могу ли я использовать массив ячеек в качестве значений для скрипта? - PullRequest
0 голосов
/ 26 марта 2019

Я нашел скрипт, который хорошо работает для моих нужд, но я хотел бы внести изменения, чтобы он работал еще лучше.Что я хотел бы изменить, так это строку 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();
  }
}

Если я могу 'т использовать массив ячеек, как я могу изменить это из одной строки, как это для нескольких разных значений?В идеале это были бы точные значения, но список «Содержащий ...» тоже сработал бы.

Спасибо!

Трей

1 Ответ

1 голос
/ 26 марта 2019

Я немного отредактировал ваш код и добавил массив для хранения строк для поиска и удаления.Заполните массив строками и попробуйте.

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();
      }
    });
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...