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 Dokumentów Google za pomocą Apps Script Document Service zgodnie z poniższym przykładem co pokazuje.
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); }
Powyższy skrypt tworzy nowy dokument na Dysku Google użytkownika, a następnie
pobiera kartę o identyfikatorze t.0
(domyślna pierwsza karta) i wstawia akapit
zawierający ten sam tekst co nazwa dokumentu, style tego akapitu jako
nagłówka i dołącza tabelę na podstawie wartości w dwuwymiarowej tablicy.
skrypt może równie łatwo wprowadzić te zmiany w istniejącym dokumencie,
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()
i Document.getActiveTab()
.
Struktura dokumentu
Z punktu widzenia Apps Script dokument Dokumenty Google ma strukturę
jest jak dokument HTML – czyli dokument składa się z
Tab
, z których każdy zawiera
elementy (takie jak Paragraph
lub
Table
), które często zawierają inne
. Większość skryptów modyfikujących dokument w Dokumentach Google zaczyna się od wywołania
getTab()
i
asDocumentTab()
a następnie getBody()
,
ponieważ Body
to podstawowy element
który zawiera wszystkie pozostałe elementy karty 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 wyłącznie określonych typów elementów w inne. W drzewie poniżej widać, element może zawierać elementy określonego typu.
Pogrubione elementy można wstawiać. elementy niepogrubione mogą być zmanipulowane.
- Dokument
- Karta
- DocumentTab
- Treść
- HeaderSection
- ListItem
-
.
- HorizontalRule
- InlineDrawing
- InlineImage
- Tekst
- UnsupportedElement (numer strony itp.)
- Akapit
- HorizontalRule
- InlineDrawing
- InlineImage
- Tekst
- UnsupportedElement (numer strony itp.)
- Tabela
- ListItem
- FooterSection
- ListItem
-
.
- HorizontalRule
- InlineDrawing
- InlineImage
- Tekst
- UnsupportedElement (numer strony itp.)
- Akapit
- HorizontalRule
- InlineDrawing
- InlineImage
- Tekst
- UnsupportedElement (numer strony itp.)
- Tabela
- ListItem
- FootnoteSection
- DocumentTab
- Karta
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()
oraz
getActiveTab()
metody, które mają zastosowanie tylko do skryptów utworzonych w dokumencie Dokumentów Google;
w samodzielnym skrypcie, użyj
DocumentApp.create()
openById()
lub openByUrl()
,
w połączeniu z Document.getTab()
,
.
Dodaj obiekty zastępcze
function createPlaceholders() { var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); body.appendParagraph('{name}'); body.appendParagraph('{address}'); body.appendParagraph('{city} {state} {zip}'); }
Zastąp zmienne
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); }
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 oraz okna dialogowe Dokumentów 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.