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
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 ingresoValor= Browser.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 ingresoValor= Browser.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:
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 ingresoValor= Browser.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 ingresoValor= Browser.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...
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
ResponderBorrarGracias,