Estensione di Documenti Google

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.

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.