Tengo este fragmento de código que hace una copia de cada Hoja en el documento. No se si hace copias de Hojas Ocultas, la copia _temp de las hojas ocultas no aparece en la interfaz pero supongo que también están ocultas. En caso de que haga las copias, ¿cómo podría modificar el código para que no copie hojas ocultas? Tengo muchas cosas ocultas en mi documento y podría ahorrar tiempo y evitar bloqueos.
var ss = SpreadsheetApp.openById(spreadsheetId); var tempSheets = ss.getSheets().map(function(sheet) { var dstSheet = sheet.copyTo(ss).setName(sheet.getSheetName() + "_temp"); var src = dstSheet.getDataRange(); src.copyTo(src, {contentsOnly: true}); return dstSheet; });Gracias
Esto debería funcionar:
var ss = SpreadsheetApp.openById(spreadsheetId); var tempSheets = ss.getSheets().filter(sheet => !.isSheetHidden()).map(function(sheet) { var dstSheet = sheet.copyTo(ss).setName(sheet.getSheetName() + "_temp"); var src = dstSheet.getDataRange(); src.copyTo(src, {contentsOnly: true}); return dstSheet; }); sheet.isSheetHidden() devolverá true si la hoja está oculta y false en caso contrario. Primero filtramos la lista a hojas no ocultas y luego solo copiamos el resto de las hojas.
function copyunhidden() { const ss = SpreadsheetApp.openById("id"); ss.getSheets().filter(sh => !sh.isSheetHidden()).forEach(s => { s.copyTo(ss).setName(s.getName() + "_temp") }); }