Uno script è associato a un file Fogli, Documenti, Presentazioni o Moduli Google se è stato creato da quel documento anziché come script autonomo. Il file a cui è collegato uno script associato è chiamato "contenitore". Gli script associati si comportano generalmente come script autonomi, tranne per il fatto che non vengono visualizzati in Google Drive, non possono essere separati dal file a cui sono associati e ottengono alcuni privilegi speciali sul file principale.
Tieni presente che gli script possono essere associati anche a Google Sites, ma vengono quasi sempre implementati come app web. Anche gli script associati a Fogli, Documenti, Presentazioni o Moduli Google possono diventare app web, anche se è raro.
Creare uno script associato
Documenti, Fogli o Presentazioni Google
Per creare uno script associato in Documenti, Fogli o Presentazioni Google, apri un documento in Documenti, un foglio di lavoro in Fogli o una presentazione in Presentazioni e fai clic su Estensioni > Apps Script. Per riaprire lo script in futuro, fai la stessa cosa o apri lo script dalla dashboard di Apps Script.
Moduli Google
Per creare uno script associato in Moduli Google, apri un modulo e fai clic su Altro > Editor di script. Per riaprire lo script in futuro, ripeti la stessa operazione o apri lo script dalla dashboard Apps Script.
Metodi speciali
Gli script associati possono chiamare alcuni metodi che gli script autonomi non possono chiamare:
getActiveSpreadsheet()
,getActiveDocument()
,getActivePresentation()
, egetActiveForm()
consentono agli script associati di fare riferimento al file principale senza fare riferimento all'ID del file.getUi
consente agli script associati di accedere all'interfaccia utente del file principale per aggiungere menu, finestre di dialogo e barre laterali personalizzati.- In Fogli Google,
getActiveSheet()
,getActiveRange()
, egetActiveCell()
consentono allo script di determinare il foglio corrente dell'utente, l'intervallo di celle selezionato o la singola cella selezionata.setActiveSheet(sheet)
esetActiveRange(range)
consentono allo script di modificare queste selezioni. - In Documenti Google,
getActiveTab()
,getCursor()
egetSelection()
consentono allo script di determinare la scheda corrente dell'utente, la posizione del cursore dell'utente o il testo selezionato.setActiveTab(tabId)
,setCursor(position)
esetSelection(range)
consentono allo script di modificare queste selezioni.
Per saperne di più, consulta la guida all'estensione di Fogli Google o la guida all'estensione di Documenti Google.
Menu, finestre di dialogo e barre laterali personalizzati
Gli script associati possono personalizzare Fogli, Documenti e Moduli Google aggiungendo menu personalizzati e finestre di dialogo o barre laterali. Tieni presente, tuttavia, che uno script può interagire con l'interfaccia utente solo per l'istanza corrente di un file aperto. ovvero uno script associato a un documento non può influire sull'interfaccia utente di un altro documento.
Trigger
Gli script associati possono utilizzare trigger semplici
come la funzione speciale onOpen()
, che viene eseguita automaticamente ogni volta che un file
viene aperto da un utente con accesso in modifica. Come tutti i tipi di script, possono
utilizzare anche trigger installabili.
Funzioni personalizzate
Una funzione personalizzata è una funzione in uno
script associato a Fogli Google che chiami direttamente da una cella utilizzando la
sintassi =myFunctionName()
. Le funzioni personalizzate sono quindi simili alle centinaia di
funzioni integrate in Fogli
come AVERAGE
o
SUM
, con la differenza che definisci
il comportamento della funzione personalizzata.
Accesso agli script associati
Solo gli utenti con l'autorizzazione a modificare un contenitore possono eseguire lo script associato. I collaboratori che hanno solo accesso in visualizzazione non possono aprire l'editor di script, ma se creano una copia del file contenitore, diventano proprietari della copia e possono visualizzare ed eseguire una copia dello script.
Per scoprire come condividere il file contenitore di uno script, consulta Condividere file da Google Drive.