Rozszerzanie możliwości Dokumentów Google

Google Apps Script umożliwia programowe tworzenie i modyfikowanie Dokumentów Google, a także dostosować interfejs użytkownika za pomocą nowych menu, okien dialogowych na pasku bocznym.

Podstawy

Apps Script może wchodzić w interakcje z Dokumentami Google na 2 ogólne sposoby: utworzysz lub zmodyfikujesz dokument, jeśli użytkownik skryptu ma odpowiednie uprawnienia dokument, a skrypt można również powiązane z dokumentem, co daje ze specjalnych zdolności skryptu do zmiany interfejsu użytkownika lub do reagowania, gdy dokument jest otwarty. Aby utworzyć w Dokumentach Google skrypt powiązany z kontenerem, kliknij Rozszerzenia > Apps Script.

W obu przypadkach można łatwo korzystać z dokumentu Google przy użyciu Document Service zgodnie z poniższym przykładem co pokazuje.

function createDoc() {
  var doc = DocumentApp.create('Sample Document');
  var body = doc.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);
}

Powyższy skrypt tworzy nowy dokument na Dysku Google użytkownika i wstawia akapitu zawierającego taki sam tekst jak nazwa dokumentu oraz style, które akapitu jako nagłówka, i dodaje tabelę na podstawie wartości w dwuwymiarowej tablicy. Skrypt mógł równie łatwo wprowadzić te zmiany w istniejącego dokumentu, zastępując wywołanie DocumentApp.create() z DocumentApp.openById() lub openByUrl(). W przypadku skryptów utworzonych w dokumencie (powiązanych z kontenerem) użyj DocumentApp.getActiveDocument()

Struktura dokumentu

Z punktu widzenia Apps Script dokument Google ma strukturę podobną do kodu HTML dokumentu – czyli dokument Google składa się z elementów (takich jak Paragraph lub Table), które często zawierają inne . Większość skryptów modyfikujących dokument Google zaczyna się od wywołania getBody(), ponieważ Body to główny element, który zawiera wszystkie pozostałe elementy oprócz HeaderSection, FooterSection i inne Footnotes.

Istnieją jednak reguły, które określają, które typy elementów mogą zawierać inne typy. Ponadto usługa Document Service w Apps Script umożliwia wstawianie tylko określonych typów. elementów. Oto drzewo poniżej pokazuje, które pierwiastki mogą być zawarte w określonym typu elementu.

Pogrubione elementy można wstawiać. elementy niepogrubione mogą być zmanipulowane.

Zastępowanie tekstu

Skrypt za pomocą Apps Script jest często używany do zastępowania tekstu w Dokumentach Google. Załóżmy, że masz arkusza kalkulacyjnego zawierającego szczegółowe informacje o kliencie i chcą Państwo wygenerować Dokumenty Google dla każdego klienta. (Ten typ operacji jest często nazywany pocztą merge.)

Tekst można zastępować na wiele sposobów, ale najprostszym jest replaceText() przedstawioną w przykładzie poniżej. replaceText obsługuje większość funkcji JavaScriptu związanych z wyrażeniami regularnymi. Pierwsza funkcja poniżej dodaje kilka wierszy tekstu zastępczego do Dokumentów Google; w świecie rzeczywistym. jest bardziej prawdopodobne, że sami wpiszą obiekty zastępcze w dokumencie. zastępuje zmienne właściwościami zdefiniowanymi w client obiekt.

Pamiętaj, że obie te funkcje korzystają z funkcji getActiveDocument() ma zastosowanie tylko do skryptów utworzonych w dokumencie Google; w samodzielny skrypt, użyj funkcji DocumentApp.create(), openById(), lub openByUrl() .

Dodaj obiekty zastępcze

function createPlaceholders() {
  var body = DocumentApp.getActiveDocument().getBody();
  body.appendParagraph('{name}');
  body.appendParagraph('{address}');
  body.appendParagraph('{city} {state} {zip}');
}

Zastąp zmienne

function searchAndReplace() {
  var body = DocumentApp.getActiveDocument()
      .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);
}

Niestandardowe menu i interfejsy

Dokumenty Google można dostosować, dodając menu, okna dialogowe na pasku bocznym. Pamiętaj jednak, że skrypt może wchodzić w interakcje z interfejsem tylko bieżącej instancji otwartego dokumentu i tylko wtedy, gdy skrypt powiązany z dokumentem.

Dowiedz się, jak dodawać menu niestandardowe i okna dialogowe w Dokumentach Google. Więcej informacji o tworzeniu niestandardowych interfejsów dla okna dialogowego lub paska bocznego znajdziesz w przewodnika po usłudze HTML. Jeśli planujesz opublikować swój interfejs w ramach dodatek, wykonaj wskazówki redakcyjne dotyczące spójności stylu i układu edytora Dokumentów Google.

Dodatki do Dokumentów Google

Dodatki działają w Dokumentach Google i można je instalować w sklepie z dodatkami do Dokumentów Google. Jeśli masz skrypt dla Dokumentów Google i chcesz ją udostępnić światu, Apps Script umożliwia opublikuj skrypt jako aby inni użytkownicy mogli go zainstalować ze sklepu z dodatkami.

Aby dowiedzieć się, jak utworzyć dodatek do Dokumentów Google, zobacz krótkie wprowadzenie do tworzenia dodatków do Dokumentów.

Reguły

Skrypty powiązane z kontem Google Dokument może odpowiadać, używając prostego aktywatora do onOpen zdarzenia dokumentu, które ma miejsce za każdym razem, gdy użytkownik z uprawnieniami do edycji otworzy dokument w Dokumentach Google.

Aby skonfigurować aktywator, wystarczy napisać funkcję o nazwie onOpen(). Przykład: Więcej informacji znajdziesz w artykule Menu niestandardowe w Google Workspace. Mimo że prosty aktywator jest przydatny przy dodawaniu menu, nie może korzystać z żadnych aplikacji Usługi skryptów, które wymagają autoryzacji.