Saltar hasta el contenido principal
Marcos Sanz Lahoz
Profesor de secundaria. Google Trainer.
Preguntado hace 2 meses

¿Cómo puedo modificar el menú de una plantilla AppScript a medida que "avanzas" en la ejecución? (Es decir, que no se muestren unos elementos hasta haber realiado un paso previo)

Inscríbete en la comunidad GEG Spain para realizar preguntas y pedir ayuda a la comunidad.

Yo uso las propiedades del documento. 

En la función onOpen, defino una propiedad, por ejemplo importacion

    var properties = PropertiesService.getDocumentProperties();
 var importacion = properties.getProperty('Importacion');
 if (importacion===null){
   importacio= "0";
   properties.setProperty('Importacion', "0");
 };

Si no existia le asigno el valor 0 y si existia, recojo el que tenía.

A partir de ahí, añado el menú que quiero segun las variables. Por ejemplo:

   if (importacion != "1") {
   SpreadsheetApp.getUi()
         .createAddonMenu()
         .addItem('Crear la plantilla CoRubrics','creaCoRubrics')
         .addSeparator()
         .addItem('No crear la plantilla CoRubrics, usar la de esta hoja','nocreaCoRubrics')
         .addToUi()
}else{ 

          var record = properties.getProperty('Formulario');
         if (record != "1") {
           SpreadsheetApp.getUi()
           .createAddonMenu()
           .addItem('Crear el formulario','creaFormulari')
           .addItem('Importar alumnos y profesores de Google Classroom','impalClasroom')
           .addSeparator()
           .addItem('Crear una primera hoja con la rúbrica en formato Classroom','rubricClass')
           .addItem('Crea la hoja de respuesta vacía','fullrespostes')
           .addToUi()
         }else{

(...)