IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

1. diel - Úvod do Google Apps Script

Google Suite je sada cloudových nástrojov pre firmy aj jednotlivcov, určite z nich poznáte aspoň Gmail. Je ich samozrejme oveľa viac, Disk pre uloženie súborov, Kalendár, Dokumenty, Tabuľky, Prezentácie, Fotky, Formuláre, Hangouts alebo Chat pre komunikáciu a ďalšie.

Google Apps Script (často sa môžete stretnúť so skratkou GAS) je jednoduchý skriptovací jazyk založený na JavaScripte, pomocou ktorého sa rad častí G Suite dá ovládať a vylepšovať.

Môžete ho použiť na drobnosti, ktoré vám ale pri práci s G Suite môžu ušetriť veľa času a práce. A samozrejme nemusíte zostať pri drobností, v Apps Script môžete robiť plnohodnotné aplikácie a využiť jeho prepojenie na ďalšie cloudové služby Google.

Príklady využitia

Ukážme si niekoľko príkladov využitia tejto technológie:

Príklad 1

Denne vám z niekoľkých adries chodia e-mail, ktorý v prílohe obsahuje CSV súbor. Vy musíte dáta z CSV súborov importovať do Tabuliek. Rovnakú prácu zastane aj skript. Bude pravidelne kontrolovať vašu prichádzajúcu poštu a ak príde e-mail z konkrétnej adresy a bude obsahovať v prílohe CSV súbor, skript prílohu uloží na Disk a importuje dáta z prílohy do Tabuľky.

Príklad 2

Na webe používate Google Formulár, ale musíte denne kontrolovať, či niekto formulár využil a prípadne na jeho správu reagovať. Formulár sa dá ľahko doplniť o skript, ktorý sa automaticky spustí vo chvíli, keď je formulár odoslaný. Skript vám môže na e-mail zaslať upozornenie, že niekto formulár použil. Okrem toho môže zákazníkovi na jeho e-mail (ktorý zadal do formulára) zaslať poďakovanie a rekapituláciu jeho odpovedí.

Potrebné nástroje

Čo pre prvé pokusy s Google Apps Script potrebujete?

  • Google účet - postačí zdarma dostupná verzia. Zriadiť účet si môžete na adrese https://accounts.google.com/SignUp...
  • aspoň základná znalosť angličtiny, chybové hlášky aj dokumentácia sú v angličtine
  • hodí sa akékoľvek skúsenosti s programovaním

Začíname

Prihláste sa do svojho Google účtu, otvorte si aplikáciu Disk a ideme na to.

Najskôr máličko teórie. Skripty, ktoré budete vytvárať, môžu byť buď ako samostatné súbory na Disku, alebo môžu byť súčasťou Tabuliek, Dokumentov alebo napríklad formulárom (v nápovede ich nájdete pod termínom bounded).

Oba dva druhy môžu robiť v zásade to isté, ale je lepšie skryté skripty používať v prípade, že naozaj pracujú s jednou konkrétnou tabuľkou alebo dokumentom. Ak sa má skript používať pre rôzne dokumenty, je rozhodne lepšie mať ho ako samostatný súbor.

Skripty napísané v GAS beží na serveri, nie v prehliadači. Neskôr si ukážeme, že je možné napísať skripty, ktoré budú mať časť bežiaci v prehliadači (napísanú v JavaScripte) a druhú časť bežiaci na serveri (napísanú v GAS) a obe časti spolu môžu komunikovať.

Bounded skript pre tabuľku

Ako prvý si ukážeme ako vytvoriť bounded skript pre tabuľku.

Vytvorte na Disku novú tabuľku, pomenujte ju Příklad 1 a v menu zvoľte Nástroje - Editor skriptu. Otvorí sa vám nová záložka s editorom, v ktorej budete písať svoj prvý skript. Najprv je potrebné skript pomenovať. Vľavo hore kliknite na text Projekt bez názvu a zadajte nejaký názov, treba opäť Příklad 1. Na názve nezáleží, ale ak máte otvorenú tabuľku a na druhej záložke k nej pribalený skript, je dobré poznať na prvý pohľad, že k sebe patria.

Editor by teraz mal vyzerať nejako takto:

editor skriptu - Google API

Než začneme písať náš prvý skript, tak opäť pár poznámok. V Apps Script máte k dispozícii mnoho knižníc, každá slúži k práci s inou časťou Google Suite. Nemusíte si ich názvy pamätať, ak v Editore skriptov stlačíte Ctrl + Medzerník, zobrazia sa vám ich zoznam, z ktorého knižnicu vyberiete a stlačením Enter vložíte jej názov do Editora.

Podobne potom v ďalšom kroku vyberiete metódu, čiže čo by mala knižnica vykonať. Ak máte zoznam knižníc alebo metód zobrazený a poznáte názov, ktorý chcete vybrať, stlačte príslušné znaky na klávesnici, aby ste sa v zozname dostali na požadované miesto.

Náš prvý skript by mal pracovať s tabuľkou a na to budeme potrebovať knižnicu s názvom SpreadsheetApp. Takže si stlačením Ctrl + Medzerník zobrazte zoznam knižníc, potom stlačte prvé písmená názvu knižnice, teda S P, a stlačte Enter, názov knižnice sa vám vloží do editora. Pokiaľ hneď za názov knižnice doplníte bodku, ponúkne sa zoznam metód, ktoré možno zavolať.

Knižnicu máme, teraz potrebujeme nejako vybrať tabuľku, s ktorou chceme pracovať. Pretože je skript pribalený k tabuľke Příklad 1, môžeme pre jej výber použiť metódu getActive(), čiže vezmi práve aktívny tabuľku. Metódu vyberieme zo zoznamu, ktorý sa nám ponúkne po doplnení bodky za názov knižnice.

Tým sme získali tabuľku, ktorá ale môže mať mnoho listov. Momentálne vybraný list opäť získame podobne ako celú tabuľku, tentoraz metódou getActiveSheet().

Funkcia myFunction() potom môže vyzerať napríklad takto:

function myFunction() {
  var akt_tab = SpreadsheetApp.getActive();
  var akt_list = akt_tab.getActiveSheet();
}

V premennej akt_tab máme celú tabuľku, v premennej akt_list práve vybraný list. Oba riadky môžeme spojiť do jedného a v jednom kroku vybrať priamo aktívny hárok, teda napísať:

var akt_list = SpreadsheetApp.getActive().getActiveSheet();

Výber aktívneho listu možno vynechať a môžeme priamo vybrať aktívny hárok, takto:

var akt_list = SpreadsheetApp.getActiveSheet();

List by sme vybraný mali, teraz skúsime vybrať na liste nejakú bunku. Pokiaľ budeme chcieť pracovať s bunkou, ktorá je momentálne vybratá, použijeme metódu getActiveCell(). Tú musíme zavolať pre správny objekt, teda list, pretože bunka je súčasťou listu:

var akt_bunka = akt_list.getActiveCell();

Ak by sme chceli vybrať inú ako aktívny bunku, použili by sme metódu getRange(). Parametre getRange() môžeme zadať niekoľkými spôsobmi:

var range_1 = akt_list.getRange(1, 2);

Prvý parameter je číslo riadku, druhý číslo stĺpca. Riadky aj stĺpce sa číslujú od jednotky, týmto príkazom by sme teda vybrali bunku B1. Pre výber väčšej oblasti pridáme ďalšie 2 parametre, počet riadkov a počet stĺpcov. Takto by sme vybrali oblasť buniek B1: C3.

var range_1 = akt_list.getRange(1, 2, 3, 2);

Posledná možností ako oblasť, ktorú chceme, vybrať, je práve zápis v tvare C5: E15. Volanie metódy by sme potom zapísali napríklad:

var range_1 = akt_list.getRange("C3:F8");

Či už sme vybrali jednu bunku alebo väčšiu časť listu, v oboch prípadoch sa vybraná časť listu nazýva range, česky povedzme oblasť alebo rozsah.

S vybranou časťou listu teraz môžeme pracovať, vložiť do nej dáta, načítať dáta a vykonať s nimi nejaký výpočet, zmazať obsah buniek, nastaviť veľkosť písma i farbu, orámovanie, zarovnanie atď.

Funkcia, ktorá by vybrala práve aktívny bunku v tabuľke, prečítala hodnotu v nej uloženú a nastavila pozadia bunky na červenú farbu, by potom vyzerala napríklad takto:

function myFunction() {
  var akt_list = SpreadsheetApp.getActiveSheet(); // vybere aktuální list
  var akt_bunka = akt_list.getCurrentCell(); // vybere aktuálně vybranou buňku
  var txt = akt_bunka.getValue(); // hodnotu z buňky uloží do proměnné txt
  akt_bunka.setBackground('red'); // obarví pozadí buňky na červeno
}

Tak, máme napísanú prvú funkciu a v ďalšej lekcii, Google Apps Script - Prvé spustenie funkcie , si ukážeme ako ju spustiť.


 

Všetky články v sekcii
Google API
Preskočiť článok
(neodporúčame)
Google Apps Script - Prvé spustenie funkcie
Článok pre vás napísal Jan Hora
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se poslední 4 roky věnuje programování pro Google Suite.
Aktivity