Авто-очистить скрипт - в Google Spreadsheet для всех листов - PullRequest
0 голосов
/ 04 июля 2018

Используя Google Sheets, у меня есть файл с несколькими листами в одном формате, который люди заполняют по всему городу. Мне нужен скрипт, который будет очищать определенные диапазоны на каждом листе.

Мне удалось найти код, который делает то, что мне нужно, но он довольно грязный и не будет самодостаточным, если в будущем будет добавлено больше листов.

Сможет ли кто-нибудь высказать мне свое мнение, чтобы сделать это лучше? Возможно, что-то, что выберет все листы и очистит диапазон?

P.S. У меня нет скриптовых знаний, и я только что изучал статьи все утро.

function clearRange() {
      // replace 'Sheet1' with your actual sheet name
      // replace 'dhrhrejYOURSHETIDerhe5j54j5j' with your actual sheet ID

var sheetActive = SpreadsheetApp.openById("1a7-uGrGaUK6uB5Sp-22N9kYYCB0EbpbHNzv8mYksLYY").getSheetByName('MONTREAL'); 
  sheetActive.getRange('6:500').clearContent();

var sheetActive = SpreadsheetApp.openById("1a7-uGrGaUK6uB5Sp-22N9kYYCB0EbpbHNzv8mYksLYY").getSheetByName('London'); 
  sheetActive.getRange('6:500').clearContent();

  var sheetActive = SpreadsheetApp.openById("1a7-uGrGaUK6uB5Sp-22N9kYYCB0EbpbHNzv8mYksLYY").getSheetByName('OTTAWA'); 
  sheetActive.getRange('6:500').clearContent();
}

1 Ответ

0 голосов
/ 05 июля 2018

С точки зрения архитектуры данных, я бы предложил собирать данные через форму Google, в отличие от многих людей, редактирующих одну и ту же электронную таблицу.

Однако, если вы просто хотите, чтобы код удалял один и тот же диапазон на всех листах, я бы предложил цикл, который повторяет все листы. Это должно работать для вас.

var x = SpreadsheetApp.openById("1a7-uGrGaUK6uB5Sp-22N9kYYCB0EbpbHNzv8mYksLYY").getSheets()

for (var i = 0; i < x.length; i++) { 
  x[i].getRange('6:500').clearContent()    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...