Apps Script, una vista al servicio SpreadSheet

En este articulo vamos a realizar una simple demostración iniciando el desarrollo en Apps Script. Google actualmente provee una gran cantidad de servicios muy interesantes y productivos para ambientes financieros, académicos, industriales etc. Haciendo uso de estos servicios un usuario puede resolver gran cantidad de requerimientos propios de sus tareas habituales. Pero los escenarios para cada organización o usuario suelen ser diversos y aquí entramos en personalizar algunos puntos de las soluciones o servicios propuestos por Google...

No solo para personalizar sino para automatizar gran cantidad de tareas es requerido un lenguaje que me permita realizar estas operaciones, interactuar y materializar requerimientos haciendo uso de todo el grupo de servicios increíbles que me provee Google, entonces bienvenidos a javascript en apps google, Apps Script.

Para este ejemplo voy a trabajar con el servicio de Spreadsheet en la planilla de cálculo y realizar una calculo muy simple de forma automatizada. En lo que respecta a este servicio tenemos 4 clases que nos provee Google para utilizar en los scripts:
- Class Range
- Class Sheet
- Class Spreadsheet
- Class SpreadsheetApp

Pueden validarlo aquí: Ver

Para generar la solución propuesta vamos en primer lugar a utilizar una hoja de calculo de Google Docs como muestra la Fig.1


Fig.1 - Planilla de calculo de Google Docs genérica

Luego vamos a inicializar el editor de secuencias de comandos como muestra la Fig.2.


Fig.2 - Editor de secuencias de comandos

Finalmente vamos a agenerar un nuevo script que me permita ingresar un valor, luego colocarlo en la hoja de calculo y finalmente realizar un calculo y devolver un valor..

Analicemos por el siguiente código Code 1.

function myFunctionDemo(
{
  //Trabajo con la planilla
  var planilla SpreadsheetApp.getActiveSpreadsheet();
  
  //Trabajo con la Hoja de forma particular
  var hojaDeTrabajo planilla.getSheets()[1];
  
  //Permito el ingreso de un valor
  var ingresoValorBrowser.inputBox("Ingrese un número")
  
  //Se escribe en la hoja en la celda A1 determinado texto
  hojaDeTrabajo .getRange("A1").setValue("Se calculará el 50% del siguiente valor");
  
  //Se escribe en la hoja en la celda B1 determinado valor
  var valorOperado hojaDeTrabajo .getRange("B1");
  valorOperado.setValue(ingresoValor);
   
  //Se calcula el porcentual
  var resultado (50 valorOperado.getValue())/100;
  
  //Se muestra el resultado  
  Browser.msgBox("El Resultado es: " resultado);
}
Code 1- Script completo de la demostración.

Detalle del código


Aquí se puede observar la manipulación de la planilla en donde se coloca el control en la planilla activa.
 //Trabajo con la planilla
  var planilla SpreadsheetApp.getActiveSpreadsheet();


Luego se determina la hoja sobre la que se va a operar la lectura y escritura de valores o cadenas, en este caso será en la hoja indizada 1, recuerden que la numeración comienza en 0.
  //Trabajo con la Hoja de forma particular
  var hojaDeTrabajo planilla.getSheets()[1];



Se permite el ingreso de valores con una acción emergente. 
  //Permito el ingreso de un valor
  var ingresoValorBrowser.inputBox("Ingrese un número")


En este caso se realiza una escritura puntual sobre una de las celdas de la hoja, tengamos en cuenta que es solo un simple ejemplo, sino tendríamos que validar este tipo de operaciones. 
  //Se escribe en la hoja en la celda A1 determinado texto
  hojaDeTrabajo .getRange("A1").setValue("Se calculará el 50% del siguiente valor");
  

En esta operación también se realizan operaciones de escritura.
  //Se escribe en la hoja en la celda B1 determinado valor
  var valorOperado hojaDeTrabajo .getRange("B1");
  valorOperado.setValue(ingresoValor);


En esta operación se calcula el resultado del porcentaje propuesto.   //Se calcula el porcentual
  var resultado (50 valorOperado.getValue())/100;


Finalmente se muestra de forma emergente el resultado.  //Se muestra el resultado  
  Browser.msgBox("El Resultado es: " resultado);


Veamos como queda el la Fig. 3


Fig.3 - Script completo


El resultado de la operación se muestra en la Fig.4




Fig.4 Resultado de la operación propuesta en el script.


Pueden visualizar esta operación en el siguiente vídeo:



Espero les sea de utilidad...

Comentarios

  1. Buenas tardes me presento mi nombre es jorge saiz lo que sucede es que necesito crear un script en el cual segun unas fechas predeterminadas de vencimiento el scrip pueda calcularme cuantos dias quedan para que cuando le queden 15 dias el script le envie un correo electronico al usuario, ya tengo el excel creado con los datosd e fecha de venimento y pero usted me podria infdicar como hago para que dentro del script el pueda restar la fecha actual con la fecha que tengo en el excel, De antemano agradeceria mucho su apoyo. mi cooreo es jorge.saiz@compudemano.com
    Gracias,

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Modelando relaciones en UML, un acercamiento a las Asociaciones

Utilizando Intents implícitos para crear actividades

Secuencias…Modelado indispensable