Google Apps Script ti consente di creare e modificare in modo programmatico i documenti Google, nonché personalizzare l'interfaccia utente con nuovi menu, finestre di dialogo e barre laterali.
Nozioni di base
Apps Script può interagire con Documenti Google in due modi ampi: qualsiasi script può creare o modificare un documento se l'utente dello script dispone delle autorizzazioni appropriate per del documento e uno script può anche bound a un documento, che fornisce le capacità speciali dello script di alterare l'interfaccia utente o di rispondere quando documento è aperto. Per creare uno script associato a un container da Documenti Google, Fai clic su Estensioni > Apps Script.
In entrambi i casi, interagire con un documento di Documenti Google è semplice di Apps Script Document Service, come nell'esempio seguente come dimostra.
function createDoc() { var doc = DocumentApp.create('Sample Document'); var documentTab = doc.getTab('t.0').asDocumentTab(); var body = documentTab.getBody(); var rowsData = [['Plants', 'Animals'], ['Ficus', 'Goat'], ['Basil', 'Cat'], ['Moss', 'Frog']]; body.insertParagraph(0, doc.getName()) .setHeading(DocumentApp.ParagraphHeading.HEADING1); table = body.appendTable(rowsData); table.getRow(0).editAsText().setBold(true); }
Lo script riportato sopra crea un nuovo documento nel Google Drive dell'utente, quindi
recupera la tabulazione con ID t.0
(la prima tabulazione predefinita), inserisce un paragrafo
che contiene lo stesso testo del nome del documento, stili che
e aggiunge una tabella basata sui valori di una matrice bidimensionale. La
lo script potrebbe apportare altrettanto facilmente queste modifiche a un documento esistente
sostituzione della chiamata a DocumentApp.create()
con DocumentApp.openById()
o openByUrl()
.
Per gli script creati all'interno di un documento (legato a container), utilizza
DocumentApp.getActiveDocument()
e Document.getActiveTab()
.
Struttura di un documento
Dal punto di vista di Apps Script, un documento di Documenti Google è strutturato
in modo molto simile a un documento HTML, cioè un documento è composto da uno o più
Tab
oggetti, ognuno dei quali contiene
(come Paragraph
o
Table
) che spesso contengono altri
elementi. La maggior parte degli script che modificano un documento di Documenti Google inizia con una chiamata a
getTab()
e
asDocumentTab()
seguito da getBody()
,
perché Body
è un elemento fondamentale
che contiene tutti gli altri elementi in una scheda, ad eccezione di
HeaderSection
,
FooterSection
e qualsiasi
Footnotes
.
Esistono però delle regole su quali tipi di elementi possono contenere altri tipi. Inoltre, il servizio documenti in Apps Script può inserire solo alcuni tipi di elementi in altri elementi. La struttura ad albero riportata di seguito mostra quali possono essere contenuti da un certo tipo di elemento.
Puoi inserire gli elementi mostrati in grassetto; gli elementi non in grassetto possono essere manipolato in sede.
- Documento
-
.
- Scheda
- DocumentTab
- Testo
- HeaderSection
-
.
- ListItem
- HorizontalRule
- InlineDrawing
- InlineImage
- Testo
- UnsupportedElement (numero di pagina e così via)
- Paragrafo
- HorizontalRule
- InlineDrawing
- InlineImage
- Testo
- UnsupportedElement (numero di pagina e così via)
- Tabella
- ListItem
- FooterSection
-
.
- ListItem
- HorizontalRule
- InlineDrawing
- InlineImage
- Testo
- UnsupportedElement (numero di pagina e così via)
- Paragrafo
- HorizontalRule
- InlineDrawing
- InlineImage
- Testo
- UnsupportedElement (numero di pagina e così via)
- Tabella
- ListItem
- FootnoteSection
- DocumentTab
- Scheda
Sostituzione del testo in corso...
Apps Script viene spesso utilizzato per sostituire il testo in Documenti Google. Immaginiamo un un foglio di lavoro pieno di informazioni sul cliente e vuoi generare un Documenti Google per ciascun cliente. (Questo tipo di operazione viene spesso chiamata merge.)
Esistono molti modi per sostituire il testo, ma il più semplice è
replaceText()
mostrato nell'esempio di seguito. replaceText
supporta la maggior parte
delle caratteristiche espressioni regolari di JavaScript. La prima funzione riportata di seguito
aggiunge diverse righe di testo segnaposto a un documento Google; nel mondo reale,
è più probabile che digitino i segnaposto nel documento. La
la seconda funzione sostituisce i segnaposto con le proprietà definite nella
client
oggetto.
Tieni presente che entrambe le funzioni utilizzano
getActiveDocument()
e
getActiveTab()
, che si applicano solo agli script creati all'interno di un documento di Documenti Google;
in uno script autonomo, usa
DocumentApp.create()
,
openById()
,
o openByUrl()
,
combinato con Document.getTab()
,
.
Aggiungi alcuni segnaposto
function createPlaceholders() { var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); body.appendParagraph('{name}'); body.appendParagraph('{address}'); body.appendParagraph('{city} {state} {zip}'); }
Sostituisci i segnaposto
function searchAndReplace() { var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); var client = { name: 'Joe Script-Guru', address: '100 Script Rd', city: 'Scriptville', state: 'GA', zip: 94043 }; body.replaceText('{name}', client.name); body.replaceText('{address}', client.address); body.replaceText('{city}', client.city); body.replaceText('{state}', client.state); body.replaceText('{zip}', client.zip); }
Menu e interfacce utente personalizzati
Puoi personalizzare Documenti Google aggiungendo menu, finestre di dialogo e barre laterali. Tieni presente, tuttavia, che uno script può interagire con l'interfaccia utente solo corrente dell'istanza di un documento aperto e solo se lo script è bound al documento.
Scopri come aggiungere menu personalizzati e finestre di dialogo con i tuoi documenti Google. Per saperne di più sulla creazione di interfacce personalizzate per una finestra di dialogo o una barra laterale, consulta la guida a HTML Service. Se prevedi di pubblicare la tua interfaccia personalizzata in una componente aggiuntivo, segui le guida di stile per garantire la coerenza con stile e layout dell'editor di Documenti Google.
Componenti aggiuntivi per Documenti Google
I componenti aggiuntivi vengono eseguiti all'interno di Documenti Google e possono essere installati dallo store dei componenti aggiuntivi di Documenti Google. Se hai sviluppato uno script per Documenti Google e vuoi condividerlo con il mondo, Apps Script ti consente pubblicare il tuo script come per consentire agli altri utenti di installarlo dallo store dei componenti aggiuntivi.
Per scoprire come creare un componente aggiuntivo per Documenti Google, vedi: guida rapida per la creazione di componenti aggiuntivi di Documenti.
Trigger
Script legati a un account Google
Il documento può utilizzare un semplice attivatore per rispondere
all'onOpen
evento del documento, che
si verifica ogni volta che un utente con accesso in modifica al documento lo apre in Documenti Google.
Per configurare il trigger, è sufficiente scrivere una funzione denominata onOpen()
. Ad esempio,
di questo attivatore, vedi Menu personalizzati in Google Workspace.
Sebbene il semplice trigger sia utile per aggiungere menu, non può utilizzare nessuna app
Servizi di script che richiedono l'autorizzazione.