viernes, 21 de septiembre de 2018

Como poner enlace a un formulario en un menú hecho con código

Gracias al código, podemos crear un menú que se integra con todos los restantes en una hoja de cálculo, por ejemplo:

function onOpen() {
 var ss = SpreadsheetApp.getActive();

  var items = [
        {name: 'INICIO', functionName: 'inicio'},

        null, // Results in a line separator.

    {name: 'Respuestas', functionName: 'ir_a_respuestas'},
   {name: 'Tabla Gestión', functionName: 'ir_a_gestion'},
   {name: 'Control reiteración', functionName: 'ir_a_control'},
         {name: 'Sanciones', functionName: 'sanciones'},
      null, // Results in a line separator.
         {name: 'Por fechas', functionName: 'por_fechas'},
   {name: 'Por curso', functionName: 'por_curso'},
   {name: 'Por tipo', functionName: 'por_tipo'},
       {name: 'Por alumno', functionName: 'por_alumno'},
           {name: 'Histórico', functionName: 'historico'},
           {name: 'Evaluaciones - Grupos', functionName: 'evaluaciones_grupos'},
           {name: 'Conducta - Grupos', functionName: 'conducta_grupos'},
           {name: 'Medida - Grupos', functionName: 'medida_grupos'},
           {name: 'Zona - Grupos', functionName: 'zonas_grupos'},
          null, // Results in a line separator.
               {name: 'Mandar expediente', functionName: 'mandar_expediente'},
               {name: 'Lista de expedientes', functionName: 'expedientes'},
               {name: 'Plantilla de expedientes', functionName: 'mandar_expediente'},
              null, // Results in a line separator.
               {name: 'Plantilla de correo', functionName: 'plantilla'},
               {name: 'METER ALUMNOS', functionName: 'alumnos'},
                {name: 'INSTALACIÓN (Listas para el formulario)', functionName: 'instalacion'}
  ];
  ss.addMenu('Navegación', items);

}

Como la función se llama onOpen(), cada vez que habramos la hoja de cálculo va a correr el código y  creará el menú.

Pero, y este es el problema que nos hemos encontrado, si queremos poner una opción que apunte a la URL de un formulario no nos va a funcionar.

Para solucionarlo, mirando en Internet, mi compañero David Berrogain encontró esta función:

function showDialog() {
      .setSandboxMode(HtmlService.SandboxMode.IFRAME)
      .setWidth(200)
      .setHeight(200);
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .showModalDialog(html, 'Añadir Entrevista con Familia');
}
Teniendo ya la función solamente nos quedaría meter otra fila en la función onOpen() que sería:
                {name: 'fORMULARIO', functionName: 'showDialog()'},
(¡IMPORTANTE! Si esta línea es la última de las opciones hay que borrar la coma del final, de lo contrario mantenerla)


No hay comentarios:

Publicar un comentario

Crear PDF horizontal

El código que vamos a mostrar aquí no ha sido creado por nosotros, sino que lo hemos encontrado en Internet. Objetivo: Publicar una pesta...