ОЧИСТИТЕ СТРОКИ НА НЕСКОЛЬКИХ ЛИСТАХ _ ТРИГГЕРЫ, УПРАВЛЯЕМЫЕ ВРЕМЕНЕМ

#google-apps-script

Вопрос:

Я запускаю сценарии через integromat, но мне нужно очистить строки перед запуском сценариев ( каждую ночь). Я понял, что сценарий приложения Google был бы лучшим решением, но я не знаю языка. Я обнаружил, что это работает

 function clearContentsOnly() {
var range = SpreadsheetApp
           .getActive()
           .getSheetByName("INTEGROMAT1")
           .getRange('A2:D150');
 range.clearContent();
}
 

но мне нужно применить его к нескольким листам INTEGROMAT1, INTEGROMAT2 и INTEGROMAT3… попробовал несколько вещей, но это не работает

и еще один вопрос: я настроил скрипт для запуска каждую ночь, но «.getActive()» не означает ли это, что электронная таблица должна быть открыта, когда функция запущена ? не следует ли мне называть электронную таблицу по ее имени, если сценарий запускается каждую ночь с триггером, управляемым временем ? буду благодарен вам за помощь !

Ответ №1:

Нет, электронную таблицу не нужно открывать во время выполнения функции.

 function clearContentsOnly() {
  const ss =SpreadsheetApp.getActive()  // if script is bundled into a spreadsheet
  // const ss =SpreadsheetApp.openByUrl(SPREADSHEET_URL) // if standalone script, or you just want to open another spreadsheet

  const sheets = ["INTEGROMAT1", "INTEGROMAT2"]  // add an array element for each of the sheets you want cleared
  sheets.forEach(sh=>sh.getDataRange().clearContent())
}