Este caso considera que existe una Hoja de Calculo de Google con varias pestañas u hojas internas, pero nosotros deseamos crear un pdf de una sola hoja de ellas y el código visto en los 2 ejemplos anteriores nos crea el pdf de todas las hojas internas y no es eso lo que queremos.
así que revisaremos este truco sencillo para omitir el resto de las hojas y poder crear el pdf de nuestra hoja interna o pestaña de nuestro interés
pues vamos al grano
el truco consiste en 3 pasos
ocultar todas las hojas mediante código Google apps script, dejando solo nuestra hoja interna de interés para convertir a pdf
crear el pdf en tu Drive o directorio raíz
mostrar nuevamente las hojas ocultas para dejara el archivo como estaba originalmente
aquí una imagen del código empleado
Nota: al final encontraran el código para copiar y pegar
Después de declarar las variables "ss" y "hojas" que hacen referencia a la HCG activa (Google Sheets activa)
usamos un bucle for simple para hacer un recorrido de todas las hojas y ocultar todas aquellas que no correspondan con nuestra hoja/pestaña de la cual nos interesa crear el pdf, en este ejemplo esa hoja se llama "ocultando Hojas"
el condicional if es el que hace el trabajo de comparación y esta línea de código : if(hojas[i].getName()!= "ocultando Hojas"){ se puede leer así:
si el nombre de la hoja # "x" (en revisión) es diferente a la hoja "ocultando Hojas" , entonces ocultame esa hoja.
de tal manera que ira ocultando todas las hojas para dejar visible solo la hoja de la cual crearemos el pdf
Finalmente usaremos DriveApp , el método createFile y getAs para convertir la hoja como pdf y por extensión le asignaremos mediante setName un nombre personalizado a nuestro pdf
comparte este articulo o el video , si te fueron de utilidad 😊
si el tema fue de utilidad comparte este articulo con otras personas, nos ayudarías mucho haciendo difusión de estas propuestas 😉
function ocultaHojasYcrearPDF(){
var ss = SpreadsheetApp.getActive();
var hojas = ss.getSheets();
for(var i=0;i<hojas.length;i++){
if(hojas[i].getName()!= "ocultando Hojas"){
hojas[i].hideSheet();
}
}
DriveApp.createFile(ss.getAs('application/pdf')).setName("PDF ocultando Hojas");
hojas.forEach(function(h){h.showSheet()});
}
Síguenos y suscríbete en: