Я нашел решение о том, как сократить время выполнения здесь, но я не могу реализовать его с помощью пакетной обработки, как обсуждалось здесь.[вопрос]: Тайм-аут скрипта приложения Google ~ 5 минут?
Извините, я совершенно новичок в скриптах.Сценарий ниже перебирает все листы и меняет имя листа на значение в A1.
function onEdit() {
var ss = SpreadsheetApp.getActive();
var allsheets = ss.getSheets();
// Array holding the names of the sheets to exclude from the execution
var exclude =["Sheet1","Sheet2","Sheet3","Article","Frontpage","Logos","Sheet4","Sheet5","Sheet6","Sheet10"];
for(var i=10;i<allsheets.length;i++) {
var sheet = allsheets[i];
var oldName = sheet.getName();
var newName = sheet.getRange(1,1).getValue();
if (newName.toString().length>0 && newName !== oldName) {
sheet.setName(newName);
// Stop iteration execution if the condition is met.
if(exclude.indexOf(sheet.getName())==-1) continue;
}
} // end of loop
} // end of function
Как я могу реализовать пакетирование по вышеуказанному сценарию, используя приведенный ниже пример в качестве справочного материала, чтобы уменьшить количество вызовов службы?
for (var i = 1; i <= 100; i++) {
SpreadsheetApp.getActiveSheet().deleteRow(i);
}
Сделать это:
SpreadsheetApp.getActiveSheet().deleteRows(i, 100);