una script respuestas preguntas limitar hoja google gestionar formularios formulario desde cálculo crear condicionales complementos avanzados apps google-apps-script google-form

google apps script - script - Formulario de hoja de cálculo de Google, rellenar opciones de formulario basadas en una hoja de cálculo



limitar respuestas formulario google (2)

La funcionalidad que está solicitando no existe actualmente. Una solicitud de función para vincular los formularios de Google con hojas de cálculo sería su mejor opción para mantener los dos sincronizados.

Siempre existe la opción de crear un formulario utilizando parámetros de URL como se describe aquí: https://docs.google.com/support/bin/answer.py?hl=es&answer=160000

Necesito encontrar una manera de tener las opciones de elección múltiple en un formulario de Google modificado en función de un conjunto de celdas en una hoja de cálculo de Google que cambia constantemente. ¿Algunas ideas?


Es posible. Escriba su script propio en la hoja de cálculo para actualizar su formulario. Si no está familiarizado con la escritura de guiones, puede encontrar a alguien en la galería de guiones de Google. Veamos la muestra de mi script. La secuencia de comandos es actualizar dos cuadro de lista.

function updateForm(){ // a way to get the items from the form var form = FormApp.openById("<your form id>"); var agentList = form.getItemById(<your item id>).asListItem(); var hotelList = form.getItemById(<your item id>).asListItem(); var ss = SpreadsheetApp.getActive(); var agents = ss.getSheetByName("Agents"); var hotels = ss.getSheetByName("Hotels"); // get the values in the first column accept header row 1 var agentValues = agents.getRange(2, 1, agents.getMaxRows() - 1).getValues(); var hotelValues = hotels.getRange(2, 1, hotels.getMaxRows() - 1).getValues(); var agentNames = []; var hotelNames = []; // convert 2D to 1D array and ignore empty cells for(var i = 0; i < agentValues.length; i++) { if(agentValues[i][0] != "") { agentNames[i] = agentValues[i][0]; } } for(var i = 0; i < hotelValues.length; i++) { if(hotelValues[i][0] != "") { hotelNames[i] = hotelValues[i][0]; } } // populate the list agentList.setChoiceValues(agentNames); hotelList.setChoiceValues(hotelNames); }

También puede vincular esta función a la edición de hoja de cálculo / cambiar eventos para que la lista se actualice automáticamente.