In alcune situazioni potremmo aver bisogno di limitare le risposte di un modulo Google. Non esiste, almeno per ora, una funzione integrata in Moduli per farlo. Abbiamo invece a disposizione alcuni componenti aggiuntivi, come ad esempio formLimiter, che svolgono questo compito. Per qualche motivo potresti voler evitare l’utilizzo di un componente aggiuntivo – perché non soddisfa pienamente le tue esigenze, non vedi quello che fa dietro le quinte, o non è applicabile al tuo dominio per motivi legati al trattamento dei dati.
La soluzione che propongo qui consiste in un breve script da aggiungere al modulo Google di cui vuoi limitare le risposte. È codice aperto ed analizzabile, e puoi vedere chiaramente quello che fa. Non presenta problemi di trattamento esterno dei dati: farà parte di un modulo del tuo dominio, senza trasferire alcun dato al di fuori di esso. E puoi modificarlo, ampliarlo e migliorarlo in base alle tue esigenze.
A differenza di altri script che ho proposto in precedenza, questo non è collegato al foglio di risposte del modulo, ma direttamente al modulo stesso.
Procedura breve
Se sei già abbastanza pratico del funzionamento di uno script allegato ad un file di Drive, puoi saltare la descrizione dettagliata che trovi in questo post. Ti basterà seguire questi passaggi, e tutto sarà pronto in due minuti:
- crea il modulo Google di cui vuoi limitare le risposte, e scegli dal menu Impostazioni la voce Editor di script
- dai un nome al progetto, sostituisci la funzione vuota con il codice che trovi più sotto e modifica nella prima riga il numero delle risposte massime che vuoi accettare; poi salva
- dall’editor esegui una volta la funzione onOpen, e concedi le autorizzazioni
- torna al modulo: dal menu Componenti aggiuntivi scegli la voce con il nome che hai dato al progetto, clicca su Imposta attivatore e attendi qualche secondo che lo script sia terminato
- tutto è pronto, puoi utilizzare il modulo; al raggiungimento del numero impostato il modulo verrà chiuso automaticamente, e riceverai una mail di notifica
Se hai bisogno di indicazioni più dettagliate di questa descrizione veloce, di seguito trovi spiegazioni analitiche di ogni passaggio.
Più sotto trovi il video che illustra la procedura e l’utilizzo dello script.
Il codice
var risposteAccettate = 4; //cambia questo numero con il limite di risposte che vuoi impostare function onOpen() { var ui = FormApp.getUi(); ui.createAddonMenu().addItem('Imposta attivatore', 'impostaAttivatore').addToUi(); } function limitaRisposte() { var form = FormApp.getActiveForm(); var formName = form.getTitle(); var responses = form.getResponses(); if (!responses) { return; // previene errore in caso non ci siano risposte nel modulo } if (responses.length > (risposteAccettate -1)) { form.setAcceptingResponses(false); // l'indirizzo email a cui inviare la notifica viene ricavato dal proprietario del modulo var destinatarioEmail = DriveApp.getFileById(form.getId()).getOwner().getEmail(); var oggettoEmail = `Iscrizioni chiuse per il modulo ${formName}`; var testoEmail = `Il modulo ${formName} ha raggiunto il limite massimo di ${responses.length} iscritti. Le iscrizioni sono state chiuse.` MailApp.sendEmail(destinatarioEmail, oggettoEmail, testoEmail); } } function impostaAttivatore() { // cerca se già impostato trigger per funzione principale, altrimenti lo crea e memorizza creazione avvenuta in una proprietà var props = PropertiesService.getScriptProperties(); if (props.getProperty('triggerPresente')) { return; } var triggers = ScriptApp.getProjectTriggers(); if (triggers.length > 0) { for (i = 0; i < triggers.length; i ++) { if (triggers[i].getHandlerFunction() == 'limitaRisposte') { props.setProperty('triggerPresente', true); } } } if (triggers.length == 0 || !(props.getProperty('triggerPresente'))) { ScriptApp.newTrigger('limitaRisposte') .forForm(FormApp.getActiveForm()) .onFormSubmit() .create(); props.setProperty('triggerPresente', true); } }
Crea lo script
Prima di tutto, crea nel tuo Drive il modulo Google di cui vorrai limitare le risposte. Quindi clicca sul menu in alto a destra, icona dei 3 pallini verticali, e scegli la voce Editor di script:
Si apre una nuova scheda con l’editor di Apps Script.
Alla data odierna è in corso di distribuzione la nuova interfaccia dell’editor, che nel giro di pochi giorni dovrebbe raggiungere tutti i domini G Suite. Le schermate successive si riferiscono alla nuova interfaccia, la procedura rispetto all’editor precedente non cambia nella sostanza, ma solo nella visualizzazione e nella disposizione dei menu.
Clicca in alto a sinistra sul nome generico Progetto senza titolo, scegli un nome e salva.
A questo punto elimina il contenuto del progetto – la funzione vuota preimpostata – e copia il codice dello script che trovi qui in alto. Ricordati di modificare la prima linea del progetto inserendo il numero massimo di risposte che vuoi accettare per questo modulo, al posto del valore 4 esemplificativo:
var risposteAccettate = 4; //cambia questo numero con il limite di risposte che vuoi impostare
Salva con l’icona apposita, chiudi la scheda del progetto, e torna alla scheda del modulo.
Attiva la procedura
Il codice indicato finora non basta per far funzionare la procedura. Dopo aver creato il progetto in Apps Script, è necessario impostare un attivatore – trigger – per fare in modo che la funzione principale dello script venga eseguita automaticamente. Diversamente, le funzioni degli script vanno eseguite a mano, e nel nostro caso perderemmo tutti i vantaggi della procedura.
Per approfondire…
Se vuoi documentarti sugli attivatori – meccanismo, diverse tipologie ed impiego pratico – puoi guardare la voce dedicata della guida di Apps Script.
In questo caso non devi occuparti di gestire gli attivatori: seguendo le indicazioni sottostanti verrà creato in automatico quanto serve per far funzionare la procedura senza interventi specifici. Se vorrai creare progetti analoghi, o modificare questo per altri scopi, ricordati che dovrai impostare la gestione degli attivatori separatamente.
Ora ricarica la pagina del modulo: dopo qualche istante comparirà in alto a destra l’icona dei Componenti aggiuntivi, a forma di tessera di puzzle. Cliccandola, trovi una nuova voce di menu, che ha il nome del progetto appena salvato. Scegli questa voce, e nella nuova lista che compare, clicca su Imposta attivatore.
Le autorizzazioni
Compariranno ora una serie di schermate che chiedono di acconsentire alle autorizzazioni per lo script: accettale tutte.
Queste richieste di autorizzazioni potrebbero sembrare allarmanti. E servono proprio a questo: i consensi vanno valutati con attenzione. Quando installiamo componenti aggiuntivi sviluppati da terzi, è bene lavorare solo con fonti fidate (sviluppatori noti, riconosciuti in rete, magari con sito web dedicato da cui trarre ulteriori informazioni). In questo caso puoi valutare l’attendibilità dello script proposto da due fattori:
1. il codice è aperto, puoi analizzare cosa fa
2. visto che stai installando tu lo script, questo agisce per conto del tuo account: sarai quindi tu ad avere sempre il controllo dello script, e nessun altro all’esterno
La prima esecuzione non verrà completata: è stata interrotta per permetterti di accettare le autorizzazioni. Devi quindi ripetere questo ultimo passaggio una seconda volta: icona Componenti aggiuntivi, clicca sul nome del progetto, quindi su Imposta attivatore. Ora l’esecuzione verrà completata in pochi secondi.
A questo punto verranno impostate automaticamente le operazioni iniziali. Come detto sopra, questa parte si occupa della creazione del’attivatore – e verifica anche che non esista già, per non fare duplicati inutili. Devi eseguire questa parte solo la prima volta, poi non più. L’attivatore appena impostato farà partire la funzione principale ogni volta che un utente compila e invia il modulo. In questo modo, ad ogni invio viene verificato il numero delle risposte, e se il numero massimo è stato raggiunto, il modulo viene chiuso.
Utilizzo
Sei pronto per inviare il modulo alle persone che devono compilarlo. Né tu né i compilatori dovete più fare nulla di diverso dal solito. Dietro le quinte lo script tiene monitorato il conteggio delle risposte: ad ogni invio, l’attivatore fa eseguire la funzione principale che effettua il controllo. Se il numero degli invii è inferiore a quello che hai stabilito non succede nulla. Solo quando il modulo Google raggiunge il numero di risposte stabilito, lo script attiva la funzione per limitare le risposte. Il modulo viene automaticamente modificato per non accettare più risposte. Contemporaneamente, ti viene inviata una mail di notifica che ti avvisa del raggiungimento del numero desiderato.
Puoi cambiare il comportamento riguardante l’invio della mail (destinatario, oggetto o messaggio) modificando le righe del codice che se ne occupano, nella parte terminale dello script.
Controlli ed errori
Puoi verificare il corretto funzionamento della procedura direttamente nel nuovo editor di Apps Script, aprendolo dal menu Impostazioni del modulo come indicato in fase di creazione.
All’apertura viene mostrata la schermata con l’editor del codice vero e proprio. Nel menu ad icone sulla sinistra puoi selezionare le altre icone per fare i controlli necessari.
Scegliendo la voce Attivatori possiamo verificare se il trigger è stato creato, ed eventualmente aprirlo per vederne i dettagli o modificarlo secondo le nostre esigenze. Esecuzioni invece mostra l’elenco di ogni esecuzione di una funzione contenuta nello script. In caso di problemi, troviamo nella colonna Stato l’indicazione di Errore, e se clicchiamo sulla riga interessata si apre il dettaglio dell’errore, con il riferimento alla riga dello script che origina il problema.
Buongiorno mi piacerebbe applicare una cosa come questa alla somma di un campo. Devo registrare il limite massimo di accessi ad un evento con questo modo devo fare un form per persona ma se uno viene con 3 famigliari deve fare 3 form mi piacerebbe fare che uno scriva 3 persone in un campo o 1 e che la somma di questa risposta raggiunto 25 blocchi il modulo
Buongiorno, vorrei creare un modulo che permettesse di limitare il numero degli iscritti in base anche alla data. Nello specifico, il mio problema è quello di permettere agli utenti di potersi iscrivere ad una data, e che il sistema controlli per data il numero degli iscritti, limitandoli.
Grazie
Buongiorno,
ho creato un sondaggio, ma vorrei che i partecipanti fossero obbligati a selezionare una risposta da me scelta….
tipo, scegli tra A, B, o C ma sei obbligato a scegliere A.
E’ possibile farlo?
Grazie.
ciao Marco, strettamente parlando no, non è possibile. si possono creare moduli con risposte precompilate, ma che sono comunque modificabili da parte dell’utente compilatore, puoi vedere qui: https://support.google.com/a/users/answer/9308781?hl=it. non riesco ad immaginare lo scopo pratico di quanto chiedi, per cui non so suggerirti alternative percorribili
Buongiorno e grazie per l’articolo utilissimo!
È possibile riutilizzare sempre lo stesso modulo facendo di volta in volta ripartire da zero il conteggio delle risposte?
La ringrazio.
ciao Daria, sì è possibile: è sufficiente eliminare le risposte del modulo. il conteggio viene effettuato confrontando il numero di risposte presenti con il numero impostato nello script. se elimini le risposte riparte; eventualmente puoi modificare il numero di risposte massime lato script prima di ripartire
Buongiorno,
ho creato un modulo con griglia a scelta multipla. Poiché le righe sono tante è possibile bloccare le colonne?
La ringrazio
ciao Paolo, non so se capisco bene la richiesta: intendi poter bloccare le intestazioni di colonna (similmente a come si può fare nei fogli di lavoro) in modo che chi compila, pur scorrendo in basso, continui a vedere i ‘titoli’ delle colonne? se si tratta di questo, la risposta è no: non è possibile agire (nemmeno con uno script) sull’interfaccia utente di Moduli, cioè sul modo in cui il compilatore visualizza il modulo
È possibile bloccare il numero di risposte da dare ad una singola opzione/domanda?
Ad esempio devo far scegliere una fascia oraria tra diverse inserite nelle opzioni di risposta.
Ma non voglio che ci siano più di 10 risposte per ogni fascia oraria
ciao Silvia. non è possibile fare quello che chiedi in maniera nativa in Google Moduli. si potrebbe fare qualcosa del genere con uno script, ma con un sistema molto più complesso di quello proposto in questa pagina. bisognerebbe creare un link che, anziché visualizzare il modulo così come creato, attivi una procedura che 1. controlla le risposte date, e vede se qualcuno di queste ha raggiunto il limite da te stabilito 2. se no, propone il modulo originale 3. se sì, crea automaticamente un nuovo modulo dove le opzioni ‘sature’ non vengono visualizzate 4. collega le risposte di questo nuovo modulo al foglio dati originario. si può, ma serve una programmazione dedicata e tagliata esattamente sul tipo di modulo che vuoi proporre
Buongiorno, grazie per l’ottimo tutorial. E’ possibile vincolare il contatore in funzione di un input immesso dall’utente nel form?
Nel mio caso ogni iscrizione potrebbe essere relativo ad una o 3 persone. L’iscritto deve quindi indicare il numero di partecipanti. Il contatore dovrebbe quindi tenere conto di questa informazione per conteggiare correttamente gli iscritti.
E’ fattibile?
ciao Salvatore. sì, è fattibile seppur con qualche piccola limitazione. appena ho un po’ di tempo provo a buttare giù una piccola modifica allo script per fare quello che chiedi
Buongiorno, è possibile far si che per ogni account Google il numero di risposte limite sia pari a due . Attualmente con il tasto di Moduli posso limitare solo ad una risposta per account al modulo. Ma mi trovo nella condizione di dover far compilare il modulo a due persone che usano lo stesso account e che per motivi personali ( legali) sono impossibilitate a dialogare in modo civile. Vorrei dare ad ogni account due possibilità di compilazione ma non di più ma non riesco con le impostazioni base. C’è un modo?
ciao Davide, è possibile fare quello che chiedi. non con le impostazioni di base del modulo, come hai visto, ma tramite script. quando ho un po’ di tempo provo a buttare giù qualcosa e lo condivido. se però serve segretezza del voto – contesto elezione rappresentanti dei genitori, ad esempio – serve un sistema più complesso, generalmente strutturato su due moduli distinti, per impostare il quale occorre un’elaborazione più articolata
Buongiorno Daniele,
ottimo script e spiegazione!! Mi aggancio a uno dei commenti per chiederti se poi hai fatto qualcosa in merito al discorso di limitare il numero di moduli inviati dallo stesso account Google? Dato che le impostazioni del modulo al massimo ti permettono di fare 1 solo, anche io avrei bisogno di limitare a 2 o 3 invii per account.
Grazie mille in anticipo e buona giornata.
ciao Paolo. no , purtroppo non ho fatto nulla in quel senso, perché mi sono reso conto che il lavoro era molto più lungo e complesso di quanto la casistica di applicazione fosse diffusa..
salve, ho creato un modulo google inserendo la possibilità di scegliere tra diverse date quella a cui partecipare. posso limitare il numero delle registrazioni per ciascun evento? Ho già attivato il limite, ma ovviamnete si riferisce a tutte le date, giusto?
La ringrazio, a presto
ciao Duccia. il limite che hai attivato è riferito globalmente alle risposte del modulo, è giusto. quello che chiedi tu si può fare, ma con un sistema molto più complesso di quello proposto in questa pagina. bisognerebbe creare un sistema di
– foglio di lavoro con date/eventi, e numero massimo di prenotazioni
– modulo con script che all’apertura va a recuperare i dati del foglio di lavoro, e presente solo le possibilità rimanenti lì elencate
– altro script del modulo che all’invio modifica il foglio di lavoro eliminando o riducendo il numero dalle prenotazioni in base alla scelta fatta dall’ultimo utente
– un sistema di controllo che sistemi due eventuali prenotazioni contemporanee su risorsa con un solo posto disponibile
si fa, ma richiede un lavoro di progettazione piuttosto articolato
Ciao, è possibile mettere un limite di risposte a solo una domanda?
Ciao. Complimenti per il lavoro svolto. Si potrebbe invece che limitare per utenti massimi, per data? Cioè impostare automaticamente un orario in cui il modulo si chiude automaticamente? Grazie mille.
ciao Matteo, certo. trovi le indicazioni qui: https://www.debiagi.cloud/google-workspace/google-moduli-verifiche-apertura-chiusura-automatica/
E’ possibile che in una domanda a scelta multipla siano visualizzate per esempio 5 risposte, ma che siano attivate solo 3? Questo servirebbe per documentazione, in quanto le altre 2 sarebbero attivabili poi dopo una certa data.
ciao Cosimo. se capisco bene la richiesta, in una domanda a scelta multipla il compilatore del modulo deve visualizzare ad es. 5 scelte, ma 2 di queste non devono essere cliccabili: è così? in questo caso la risposta è negativa, non esiste nulla del genere al momento in Google Moduli, e nemmeno si può ottenere tramite script
Ciao. È possibile far in modo che quando un compilatore sceglie un opzione, automaticamente al compilatore successivo non venga più visalizzata? Nel senso di esclusione di dati già inseriti…
ciao Giusto. non è possibile farlo direttamente da Google Moduli, nemmeno tramite script. per ottenere qualcosa del genere bisognerebbe creare un sistema più complesso fatto di un foglio di lavoro (contenente la lista delle opzioni iniziali), un modulo Google che viene rigenerato (almeno per la domanda in questione) ogni volta prendendo dal foglio la lista delle opzioni, e uno script che all’invio del modulo va ad eliminare dal foglio l’opzione scelta. in questo modo alla compilazione successiva del modulo vengono presentate solo le opzioni rimanenti. l’implementazione è comunque molto complessa, oltre a quanto detto va gestita la possibilità di compilazioni contemporanee del modulo… vale la pena solo per operazioni gestionali molto complesse – non per prenotare i colloqui, per intenderci
Certo, ovvio. Non mi serve per prenotare colloqui. Mi servirebbe per prenotare posti (e quindi una volta prenotato un posto non dovrebbe più uscire alla compilazione successiva)
allora bisognerebbe procedere con quella combinazione di foglio, modulo e script che ti ho detto. lavoro non banale, serve qualche ora più test per produrre qualcosa di funzionante. al momento non ho nulla di pronto nemmeno come spunto di partenza
Ok perfetto. Sarebbe un problema se potessimo parlare meglio privatamente?
Buongiorno,
in un Form, che richiede l’inserimento di data e ora è possibile preimpostare data e ora attuali e lasciare poi la possibilità all’utente di modificare tale dato?
Sempre a proposito di Moduli precompilati è possibile preimpostare i campi risposta in modo dinamico? Cioè valorizzare le risposte di una sezione del Form in base alle risposte date nella sezione precedente in modo che l’utente debba solamente confermarle se non sono corrette.
Esempio: Sezione 1 rileva Cognome, Nome, ID.
Sezione 2, vengono richiesti numero di telefono e altri dati. Le risposte vengono precompilate con i dati della persona inseriti in una precedente compilazione del Form. Se sono corretti basta passare alla sezione successiva altrimenti si aha la possibilità di modificarli e procedere. Nel caso sia la prima volta che si compila il form le risposte sono vuote.
Grazie
ciao Filippo. è possibile preimpostare delle risposte ai moduli utilizzando la generazione di link precompilati, come indicato in questo link: https://support.google.com/a/users/answer/9308781?hl=it
questo meccanismo ha però qualche limite, il più importante dei quali è che è disponibile solo la precompilazione statica, di risposte inserite manualmente da te. non è quindi possibile reimpostare data e ora attuali, se intendi la data e l’ora in cui il compilatore inserirà le proprie risposte. allo stesso modo, non è possibile una compilazione dinamica della sezione successiva a partire dalle risposte inserite nelle sezioni precedenti. nemmeno tramite Apps Script è possibile accedere in tempo reale all’interfaccia utente durante la compilazione. si potrebbe ottenere quello che ti interessa con un meccanismo molto più complesso, già indicato in altri commenti su questo blog. bisognerebbe creare un foglio di lavoro che funziona come una sorta di database dei dati inseriti in precedenza e aggiuntivi via via. poi la compilazione dovrebbe avvenire con più moduli separati, non con un solo modulo. nel primo modulo potresti chiedere nome e cognome, oppure un qualunque altro identificativo unico; all’invio di questo primo modulo uno script dovrebbe andare ad aprire il foglio database e pescare tutti gli eventuali dati già inseriti in precedenza, poi sempre tramite script potresti generare un secondo modulo con tutte le domande che ti interessano, eventualmente precompilato se nel foglio database vengono trovati dati inseriti in precedenza relativi a quell’utente. all’invio di questo secondo modulo, un nuovo script dovrebbe aggiornare i dati se già presenti nel foglio database, oppure inserire una nuova riga se si tratta di prima compilazione. in questo caso potresti anche far generare una data e ora quasi attuali, sarebbero relative però al momento della generazione delle risposte precompilate, ma non danno garanzia che siano la data e ora di compilazione effettiva da parte dell’utente. questo dato d’altra parte viene sempre raccolto in maniera automatica ad ogni invio delle risposte, per cui potresti reperirlo comunque senza difficoltà. come vedi però si tratta di un sistema decisamente complesso e che va predisposto in maniera assolutamente personalizzata per il tipo di dati e di organizzazione che ti serve, più di queste linee generali è difficile indicarti qualcosa di specifico qui
Ciao ho inserito il codice ma nel momento vado a cliccare su eseguire la funzione l’interfaccia mi da questa indicazione di errore: Exception: Cannot call FormApp.getUi() from this context.
onOpen @ Codice.gs:4
come si può risolvere?
ciao Riccardo, scusa per la risposta tardiva. è un non-errore in realtà: la funzione non va eseguita dall’interfaccia dell’editor di Apps script, ma dal menu del modulo stesso. l’errore ti dice semplicemente questo, se esegui dall’interfaccia del modulo non si ripresenta
Buongiorno è possibile creare un modulo google in cui indicare vari orari in cui poter partecipare ad un colloquio e quando un utente selezione un orario questo automaticamente non viene proposto agli utenti successivi?
Grazie
ciao Francesca. non è possibile farlo con un solo modulo e relativo script. bisognerebbe creare un sistema piuttosto complesso di modulo, script, foglio di lavoro che serve da ‘database’ delle scelte via via prenotate, un sistema di blocco delle prenotazioni contemporanee. vedi sopra commento di Giusto e relative risposte per qualche dettaglio in più. diventa un sistema molto molto complesso da impostare, e che va personalizzato in maniera consistente sul singolo caso di utilizzo.
Ciao e grazie per l ottimo lavoro.
sarebbe possibile ricevere comunque i dati delle persone che “rimangono fuori” dalla compilazione? in modo da crearmi una lista d’attesa… grazie mille!
ciao Matteo. non direttamente, perché nel momento in cui viene bloccata la raccolta delle risposte, il modulo non è più accessibile in nessun aspetto da parte dell’utente finale. potresti però creare un secondo modulo per la raccolta delle risposte che diventerà la tua lista d’attesa, e inserire il link per la compilazione di questo secondo modulo modificando il messaggio per gli intervistati – quello che dalla scheda risposte imposti perché venga visualizzato una volta che il modulo viene chiuso. in questo modo il secondo link si renderebbe visibile solo quando lo script blocca automaticamente il primo modulo al raggiungimento del numero di posti preimpostati
per l’ utente rimasto fuori dal limite del numero e apre il link del modulo che non può compilare è possibile inserire una risposta automatica con indicato il link per il secondo modulo per la lista di attesa o un messaggio con altre indicazioni ?
Buongiorno,
ho creato un modulo per fare delle iscrizioni ad un corso, ma ora voglio chiudere il corso….ho bloccato la possibilita’ di fare iscrizione ma sul modulo mi compare ancora la scritta “attivo”…..e non “chiuso”….come posso fare?
Oppure è in automatico a chi si colleghera’ per iscriversi?
Grazie
è possibile creare un limite di iscrizioni, ad esempio 100 iscrizioni, e dal 101mo continuare a raccogliere iscrizioni creando così una lista di attesa?
ciao Manuela, rispondo qui ad entrambi i commenti. non è possibile creare in maniera automatica raccolta dati a mo’ di lista di attesa superate le iscrizioni preimpostate. si può però fare facilmente come hai pensato: limiti le iscrizioni (ad esempio con lo script che vedi in questo post), al raggiungimento di quelle viene chiuso il modulo. se personalizzi il messaggio del modulo chiuso (per farlo devi chiudere momentaneamente il modulo dalla sezione risposte, e solo in quel momento ti compare il messaggio standard che puoi personalizzare), puoi inserire lì indicazioni e link per la lista di attesa, che puoi gestire con altro modulo Google linkato lì
ciao, ho un problema con google moduli. Ogni volta che devo accedere ad un form di iscrizione ad un corso a numero limitato e con apertura ad una data ora, non appena clicco sul link, mi richiede mail e password del mio account google, cosa che mi fa perdere tempo, venendo così sorpassato da altri utenti nella iscrizione al corso. Questo problema non l ho riscontrato nei form a numero aperto e senza ora di avvio. Mi sapresti dare aiuto?
Grazie
ciao Calogero, scusa ma ho tempo di rispondere solo ora. immagino siano moduli non impostati da te, ma che tu compili. se è così, in caso il creatore del modulo richieda l’accesso a Google non si può evitare di loggarsi con l’account. unico consiglio che puoi seguire è compilarlo (se usi computer) da un Chrome in cui hai già fatto l’accesso con il profilo utilizzando l’utente Google che ti servirà per la compilazione del modulo. qui indicazioni se ti servono: https://www.debiagi.cloud/google-workspace/profili-chrome-accedere-account-google/
Ciao, spero tu mi possa aiutare. Sto creando un form per un evento. Ho doppia scelta del menù, ma il menù A, non dovrebbe essere più selezionabile raggiunto un certo numero, ma le risposte saranno numeriche (quanti menù A volete? – Ho impostato la risposta in modo che possano rispondere solo con numeri)
In sostanza avrei bisogno che venissero sommate le risposte e arrivati al tetto, la risposta menù A non fosse più selezionabile.
Non ne sto venendo a capo..
Grazie 1000!
ciao Carlotta. non è possibile farlo in modo semplice come fa lo script indicato in questo post. bisogna creare uno script che sia annesso al foglio delle risposte (e non direttamente al modulo come in questo caso), e che ad ogni invio della risposta vada a controllare se la somma dei numeri nella colonna relativa alla domanda in questione ha superato o meno il tuo limite: se sì, chiude le risposte. per raffinare bene il tutto bisognerebbe anche modificare il numero massimo accettato da quella risposta ogni volta, in modo che l’ultimo che sceglie non indichi un numero eccessivo che sforerebbe comunque il totale da te desiderato. non è semplice farlo a priori, richiederebbe un po’ di lavoro in più e personalizzato specificamente per l’esigenza di quel singolo modulo
Buongiorno Daniele,
grazie mille per la descrizione dettagliata e completa della procedura, ma mi chiedevo se posso settare questo limitatore di risposte su un modulo già pubblicato a cui sono arrivate alcune risposte correttamente salvate su Excel? il limitatore prenderà in considerazione anche le risposte già inviate o inizierà a contare dal momento in cui viene attivato? Grazie
ciao Giovanni. immagino tu intenda risposte già arrivate su un foglio Google – non Excel 😉 questo script conteggia sempre le risposte totali del modulo (che siano o meno travasate su un foglio Google non importa; sono quelle per intenderci che vedi dalla scheda Risposte del modulo stesso). quindi sì, conteggerà anche le risposte precedenti già date, tranne quelle che eventualmente non siano state eliminate manualmente dall’autore. tieni presente in questo caso che – a. se elimini una risposta dal modulo non verrà conteggiata dallo script, ma continuerà ad apparire nell’eventuale foglio Google collegato; – b. se elimini una risposta dal foglio Google questa non verrà eliminata dal modulo, quindi lo script continuerà a conteggiarla. volendo si potrebbe impostare uno script perchè calcoli le risposte a partire dal foglio Google collegato, ma non è il caso di quello indicato in questo post
ciao Daniele , ho provato a seguire la tua procedura, ma mi chiedevo se fosse possibile sui moduli google limitare/oscurare/eliminare alcune opzioni di una griglia di controllo.
per intenderci meglio: sulla riga A eliminare l’opzione 1 e/o sulla riga C eliminare l’opzione 2 e 3.
scusa, mi era sfuggito questo commento. no, non è possibile, ciao
ciao daniele, ho letto che con questa procedura non si riesce a mettere il limite numerico a una doppia opzione. Per ovviare facilmente a tutto ciò si può fare qualcos’altro, seppur in maniera più rudimentale? Oppure mi puoi aiutare? Perchè ovviamente se apro le iscrizioni a max 20 persone per entrambe le date, apro le possibilità alla metà delle persone…grazie mille
ciao Benedetta. soluzione rudimentale: 2 moduli distinti. se hai il problema che una persona potrebbe iscriversi ad entrambe le date e non vuoi, si potrebbe mettere insieme qualcosa di piuttosto complesso – due moduli, un foglio di lavoro che tiene traccia delle risposte di entrambi, possibilità di compilare il modulo comunque ma iscrizione accettata solo con mail successiva previa verifica dello script sull’iscrizione ad altro modulo… molto complesso per lo scopo, fai prima a fare due moduli e controllare manualmente
Buongiorno.
Problema: Come ripristinare password amministratore dopo la dismissione avvenuta a seguito email di Monitora Pa.
Grazie in anticipo per la risposta.
ciao Amelia. dipende dalla situazione precisa: avete chiesto la chiusura di tutta la Workspace? in questo caso non si può ripristinare password, bisogna chiedere nuova attivazione di Workspace a Google (o tramite un partner). se invece avete solo reimpostato le password amministrative ma la piattaforma non è stata chiusa: avete almeno un account superadmin che può accedere? se sì, accedete con quello e reimpostate le password degli amministratori, se invece nessuna password di amministratore (o l’unica che avete) è utilizzabile, bisogna contattare l’assistenza di Google, non ci sono altre vie
Ciao Daniele e grazie per la guida, io ho un altro problema e ci sto diventando matto, magari sapresti aiutarmi a risolvere. Cerco di spiegarmi, ho un quiz in google moduli con ad esempio 100 domande. Vorrei fare però dei quiz con solo 20 domande scelte in maniera casuale e, se possibile, diversi uno ad uno. Hai idea di come si possa fare?
Grazie
Ciao
Claudio
ciao. l’unico modo che mi viene in mente è progettare uno script apposito. esiste nativamente in moduli la possibilità di riordinare casualmente le domande ad ogni compilazione, ma non di scegliere arbitrariamente un set di domande all’interno di un insieme più ampio, come mi pare di capire sia il tuo caso. lo script potrebbe avere come serbatoio un foglio di lavoro dove riga per riga sono presenti i dati necessari per costruire la domanda (testo della domanda, tipo di risposta, eventualmente i dati per la correzione e valutazione, ecc.), operare la scelta e costruire ogni volta un nuovo modulo con le 20 domande. si fa ma non è banale, bisogna lavorarci un po’
Buonasera e grazie per l’utilissimo script.
Avrei bisogno di sapere se questo script possa essere utilizzato contemporaneamente da più moduli o se sia necessario replicarlo per ogni modulo, in modo che ogni modulo esegue il suo.
Devo creare un tot di moduli per l’iscrizione ad un tot di eventi e ciascun modulo deve avere un limite di prenotazioni.
Spero di essermi spiegata bene.
ciao Gina. deve essere replicato, ogni script è strettamente abbinato ad un modulo. ma se crei il primo modulo, imposti ed autorizzi lo script, poi crei gli altri moduli facendo una copia del primo, anche lo script verrà copiato: dovrai solo autorizzarlo per ogni nuovo file (anche le autorizzazioni sono strettamente legate al singolo file)
Si, ho visto che creando una copia del modulo si porta dietro anche lo script, ma pensavo fosse lo stesso e quindi dovessi creare n copie dello script, nominate in n modi diversi.
Quindi non devo fare nulla, se non creare le copie dei moduli che mi servono?
esatto, quello è sufficiente
Ciao! Ho creato 8 moduli, come spiegato nel post precedente. In alcuni lo script ha funzionato, in uno mi sono accorta che le prenotazioni erano arrivate oltre il limite ed il modulo era ancora aperto, cioè avrebbe accettato ancora risposte. Siccome in altre moduli deve essere ancora raggiunto il limite delle risposte, come posso verificare che in caso di superamento funzionerà?E’ possibile fare un debug per verificare il valore della variabile risposteaccettate?
Grazie mille.
Ed eseguire nella copia del modulo la funzione ‘imposta attivatore’, se ho capito bene….
Le prenotazioni possono avvenire da parte degli utenti simultaneamente. Il conteggio delle iscrizioni è corretto e diverso per ogni modulo?
Grazie mille
tutto esatto
Ciao! Ho creato 8 moduli, come spiegato nel post precedente. In alcuni lo script ha funzionato, in uno mi sono accorta che le prenotazioni erano arrivate oltre il limite ed il modulo era ancora aperto, cioè avrebbe accettato ancora risposte. Siccome in altre moduli deve essere ancora raggiunto il limite delle risposte, come posso verificare che in caso di superamento funzionerà?E’ possibile fare un debug per verificare il valore della variabile risposteaccettate?
Grazie mille.
dallo script puoi guardare nella sezione esecuzioni per iniziare a capire: verifica se le esecuzioni ci sono e se sono segnalati errori
Avevo già guardato in esecuzioni e anche in attivatori. In esecuzioni, non ci sono errori, ma ho notato che la funzione limitarisposte non è mai stata eseguita e in attivatori non ottengo nessun risultato.
Sono sicura che ogni volta che ho copiato un modulo ho eseguito la funzione “imposta attivatore”, come ci eravamo scritti. Ad ogni modo, per far sì che per i moduli ancora aperti funzioni, posso eseguire ora “imposta attivatore”?
se non ci sono attivatori significa che non è andata a buon fine la loro creazione. puoi impostarlo in ogni momento, lo script rileva il numero di risposte complessive, e non quelle fornite dal momento della creazione dell’attivatore in poi. quindi sì, puoi procedere così
gracias!
Buongiorno, è possibile non includere nelle risposte alcune sezioni ? Mi spiego meglio. Alcune sezioni sono solo di scelta: vuoi andare avanti o invii il modulo ? Se l’utente sceglie di andare avanti accede ad altre sezioni. E la scelta si propone al termine di ogni sezione. Io, queste sezioni di scelta, non vorrei averle nelle risposte. E’ possibile farlo ? Grazie
Buongiorno,
è possibile limitare le risposte di una singola domanda all’interno di un form google?
Grazie
È possibile limitare una risposta a persona? Impedire che la stessa persona risponda due o più volte.
solo dalle impostazioni del singolo modulo, ma solo se viene fatto l’accesso con un account Google. altrimenti non è possibile questo blocco – solo una verifica a posteriori