Como hacer una lista de hojas con Google Apps Script

Hay ocasiones en que la información la tenemos distribuida en múltiples hojas de un mismo libro de cálculo y que las operaciones que hemos de hacer por hoja son las mismas , pero que nunca sabremos cuantas hojas habrá en el libro...

La forma más sencilla de abordar este problema es recorriendo todas las hojas del libro.

function Hojas()
{
   var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  
   var sheets = spreadsheet.getSheets();

  var  string = "Lista de hojas:\n" ;

  for ( var s = 0 ; s < sheets.length ; s++)
  {
     string += sheets[s].getName()+ "\n";
  }

  SpreadsheetApp.getUi().alert(string);

}

Si ejecutáis este código observareis algo de este estilo en la pantalla:
No es muy complicado pero es la base para poder automatizar tareas en todas las hojas de un documento de cálculo de Google Drive.

Ahora, si le ponéis imaginación podéis empezar a combinar conceptos. Por ejemplo, podéis combinar este tutorial con el de hacer validaciones automáticas, de forma que tengamos validaciones que dependan directamente del nombre de las hojas del documento.(por poner solo un ejemplo)

Se os ocurren más combinaciones?

4 comentarios:

  1. Buen día, podrías ampliar el ejemplo dejaste, soy nuevo en el lenguaje de script

    ResponderEliminar
    Respuestas
    1. Si claro, pero deberias explicarme por donde quieres que vaya. Como quieres que lo amplie?

      Nos vemos

      Eliminar
  2. hola y si quisieramos que en una hoja se listen en forma vertical (osea en una columna) todos los nombres de las hojas existentes en ese mismo documento de manera que si agregamos una hoja nueva esta aparezca automáticamente en la ultima fila de dicha columna ? cual seria el codigo ? gracias

    ResponderEliminar
    Respuestas
    1. Buenas.
      En este post tienes como obtener la lista de hojas.
      En este otro el como escribir en una hoja de calculo: https://www.tutorialesgoogleappscripts.com/2015/02/como-escribir-en-una-celda-de-una-hoja.html.
      Lo que quieres de llamar al script cuando se crea una hoja nueva, hasta donde yo se, no es posible. Si no voy errado no existe ningún evento en que el sistema te avise de esto por lo que tendrás que buscar otra opción.
      Recordad que no trabajo gratis :). Ayudo gratis a todo aquel que lo intenta y se encuentra con problemas, pero trabajar gratis me parece inmoral. Lo que me estás pidiendo es un proyecto.
      Intenta hacer el código y si tienes algún problema concreto dímelo y te echaré un cable.
      Nos vemos!

      Eliminar

Tal vez te interese