Necesito eliminar el último número x de hojas (pestañas) de una hoja de cálculo (libro de trabajo) usando Google App Script. Todo lo que he podido buscar en Google es este fragmento de código, que no hace lo que necesito.
function DeleteSheet() { var spreadsheet = SpreadsheetApp.getActive(); for (i = 0; i < 10; i++) { spreadsheet.deleteActiveSheet();} };Obviamente, esto elimina el primer número X de hojas (pestañas) al comienzo de una hoja de cálculo. Lo que necesito es un script similar que elimine el último x número de hojas al final de una hoja de cálculo. En otras palabras, necesito eliminar hojas de derecha a izquierda en lugar de de izquierda a derecha como se hace en el código anterior.
A continuación se muestra el código exacto que necesito en formato vba, pero no sé cómo escribirlo correctamente en Google App Script.
Sub DeleteAll() i = Worksheets.Count For x = i to 21 Step -1 '# <- please note the change here Application.DisplayAlerts = False Worksheets(x).Delete Application.DisplayAlerts = True Next x End Sub¡Gracias por adelantado!
Prueba esto:
function delete_sheets() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheets = spreadsheet.getSheets(); var len = sheets.length; for (var i = len-1; i > len-11; i--) spreadsheet.deleteSheet(sheets[i]); }Otra variante:
function delete_sheets() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheets = spreadsheet.getSheets(); var x = 10; while (x--) spreadsheet.deleteSheet(sheets.pop()); }