SpreadsheetApp.getUi() non può essere chiamato da questo contesto
Cannot call SpreadsheetApp.getUi() from this context
Questo tipo di errore (Fig. 1) viene restituito solitamente quando si tenta di invocare le funzioni di interfaccia utente (getUI) da un documento diverso da quello attivo, o meglio, uno script (bound-script) può interagire solo con l'interfaccia utente per l'istanza corrente del file aperto, pertanto uno script associato a un documento non può influenzare l'interfaccia utente di un altro documento (per approfondimenti: https://developers.google.com/apps-script/guides/bound#custom_menus_dialogs_and_sidebars).
Un errore simile 'SpreadsheetApp.getUi() cannot be called from this context' può essere restituito anche quando si tenta di chiamare una funzione per aprire una finestra di dialogo tramite un trigger automatico. Le interfacce di tipo UI richiedono un'azione da parte di un utente per essere lanciate, come ad esempio un click su una voce di menu, o su un bottone, che chiama una funzione e che a sua volta farà apparire la finestra di dialogo.
Una soluzione all'apertura di una modal (o dialog-box) all'interno di Web App la potete trovare nell'articolo 'Creare una Modal Box in puro Javascript per le Web App in Apps Script', di seguito un'anteprima del risultato (Fig. 1):
Gli amanti di jQuery possono invece fare riferimento all'articolo 'Creare una Modal Box con jQuery per le Web App in Apps Script' dove è presente un codice di esempio per l'apertura di una modal semplice ed un altro per l'apertura di una modal contenente un form per l'immissione dati da parte dell'utente.
Non ci sono commenti
Nessuno ha ancora commentato questo articolo, fallo tu per primo!
scrivi un commento