Crear menu con Google Apps Script


Ahora realizaremos un menú de opciones, capturaremos datos del SpreadSheet y lo mostraremos un mensaje con esa información, insertaremos datos al SpreadSheet.

Creamos una hoja de calculo, agregamos un dato en la columna A en la fila 2 de igual manera en la columna B.


Entramos al editor de secuencia de comando.
creamos una función que se llamara menu().

creamos una variable "sheet" que va instanciar al SpreadSheet que esta abierto.
luego llamamos al método .addMenu() que nos pide dos parámetros, uno de tipo String y otro tipo Object.

Ahora crearemos un objeto que contendrá a los submenus.

name: aquí ingresaremos el nombre del submenu.
functionName: ingresaremos el nombre de la funcion que se va llamar.

En este caso crearemos 3 opciones que llamará a la función datos(), ingresar() y info().


function menu() {
  
  var sheet=SpreadsheetApp.getActiveSpreadsheet();
  
  var subMenus= [{name:"Opcion 1",functionName:"datos"},{name:"Opcion 2",functionName:"info"}];
  
  sheet.addMenu("[Menu]", subMenus);
    
}
// esta función capturará el valor que contenga la columna A fila 2, de igual manera de la columna B  fila 2.
luego mostraremos un cuadro de información con los datos capturados utilizando la clase Browser.


function datos(){
  var sheet=SpreadsheetApp.getActiveSpreadsheet();
  var nombre=sheet.getRange("A"+2).getValue();
  var apellido=sheet.getRange("B"+2).getValue();
  
  Browser.msgBox("::Información::","Nombre: "+nombre +"\nApellido: "+apellido,Browser.Buttons.OK);
  
}


// con la clase Browser.inputBox("mensaje") capturaremos los datos que ingresaremos por teclado y las almacenaremos en un variable.
luego se insertaran los datos en la columna A fila 3 de igual manera la columna B fila 3.


function ingresar(){

  var sheet=SpreadsheetApp.getActiveSpreadsheet();
  
  var nom=Browser.inputBox("Ingresar nombre:");
  var ape=Browser.inputBox("Ingresar Apellido");

  sheet.getRange("A"+3).setValue(nom);
  sheet.getRange("B"+3).setValue(ape);
}

// mostramos una caja de texto con un mensaje.



function info(){
  
  Browser.msgBox("::Info::","Google Apps Script - 2012",Browser.Buttons.OK);
  
}


ahora que ya tenemos todos implementado corremos nuestro código.
seleccionamos el método menu y lo correomos.


ahora podras pobrar las opciones.
ahora un detalle.. cada vez que queremos ver el menu tendremos que entrar al editor de secuencia de comandos y correrlo??? 

La respuesta es NO lo que tendríamos que hacer es crear la funcion onOpen() donde llamaremos al método menu(), este método se ejecutara cada vez que se abre la hoja de calculo.

function onOpen(){
 menu();
  Browser.msgBox("Estado", "cargo correctamente el documento.",Browser.Buttons.OK);
  
}

link del ejemplo: https://docs.google.com/spreadsheet/ccc?key=0ApnkyhgdI9tXdFZNT2QwWHVUdDlCSkJZNHVDTkhNaHc#gid=0

Esto seria todo por ahora y  a jugar con los códigos xD

Comentarios

Entradas populares de este blog

Help desk - Google Apps Script

automatiza y enviar correo con Google Apps Script