Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Greške
  • Koji račun je pokrenuo skriptu u Google tabeli. Pišemo skripte za automatizaciju rada sa google aplikacijama

Koji račun je pokrenuo skriptu u Google tabeli. Pišemo skripte za automatizaciju rada sa google aplikacijama

zdravo

Slučajevi upotrebe Google Apps Skripte postavljene. Moj prijatelj je radio sa stranim kupcem i svaki dan je tražio izvještaj na mail sa tekstom ko je šta uradio. Kao rezultat toga, zatražio je od zaposlenih da prate sve u Google tabeli najkasnije do 21:00, a zatim je pokrenula skripta i prikupila podatke i poslala ih na pravu adresu.
U članku ću dati jednostavan i, čini mi se, koristan primjer Upotreba Google-a Apps Scripts.

Za pristup programu do podataka iz Flurryja, slijedite upute na linku:
support.flurry.com/index.php?title=API/GettingStarted

Kao rezultat toga, dobit ćete ključ koji trebate sačuvati za korištenje u skripti.
Trebat će vam i “ProjectApiKey” iz Flurryja, koji već koristite u mobilnoj aplikaciji.

Pisanje scenarija

Tačnije, sve je već napisano, ovdje ću jednostavno opisati kako to pokrenuti.
Pratimo link i preuzimamo tekstove skripti github.com/chapayGhub/flurrymetricstospreadsheet
U projektu koji smo ranije kreirali trebamo kreirati iste.

Sada, nakon što je sve urađeno, otvorite Settings.gs i u njemu
Unesite svoje ključeve za Flurry
//pohrani Flurry vjerodajnice FlurryCredentials = (function() ( var obj = (); obj.AccessCode = "?????"; obj.ApiKies = ( iPad: "????", ); return obj; ) )();

Ovdje unesite svoje ime Email, bolje sa google (ostale nisam provjeravao)
obj.emails = ["?????email1", "?????email2", "?????email3"];

Skripta je konfigurisana da prima metriku aplikacije sa Flurry + na vaš poštansko sanduče Primit ćete email da ste dodani kao urednik.

Pokreni i otkloni greške

U lijevom panelu odaberite skriptu "CreateStatisticReport"
U gornjem panelu blizu dugmeta sa greškom u padajućoj listi izaberite "makeStatisticReport"

Sada je sve jednostavno gornja ploča ima dva "super" dugmeta razumljiva svakom programeru.

Planirano lansiranje

Slijedite korake na slikama

Nijanse

Neka skripta radi sa jednim dokumentom svaki put
Odmah pokrenite za izvršenje, a ne za otklanjanje grešaka. U folderu „Statistika“ treba kreirati dokument i na vašu poštu će stizati pisma, od kojih će jedno sadržavati identifikator kreiranog dokumenta
Dodijelite ga varijabli koja se nalazi u skripti Settings.gs.
obj.mainStatisticDocID
Sada će skripta ažurirati upravo ovaj dokument, a ne svaki put kreirati novi. Ako a dati parametar nije uneta, onda pri pokretanju skripta pokušava da pronađe dokument po nepostojećem identifikatoru, naravno ne pronađe ga, izbaci izuzetak (debagovanje može da se zaustavi na ovoj lokaciji izvršenja), ali ovaj izuzetak je uhvaćen i novi dokument je kreiran.
Logging
Koristi sledeći metod
Logger.log("TEXT!");
Za pregled izlaza odaberite sljedeću stavku iz menija

Trebati pomoć

Uređivač pretraživača je zgodna stvar, ali ako je skripta obimnija, onda nije baš zgodno raditi u njoj.
Ovaj link ispod opisuje kako možete učitati i preuzeti projekat.
developers.google.com/apps-script/import-export

Imao sam ideju da napišem skriptu koja bi na ulazu primila ID projekta i učitala ga lokalni disk in pojedinačni fajlovi. Ovi fajlovi bi se zatim mogli ljudski refaktorisati i na kraju ponovo učitati kroz ovu skriptu.

Čini se da je sve opisano, ali nešto mi nije išlo).

Da li je neko ovo uradio ili već postoji? korisni linkovi? Bit ću zahvalan.

Linkovi

Od ove tačke možete početi tražiti odgovore na pitanja o Google Apps skriptama
developers.google.com/apps-script

P.S.
Nikada nisam radio sa slične usluge a ja površno poznajem JavaScript, bit će mi drago konstruktivnim komentarima.

Google Apps Script je jezik za automatizaciju onlajn aplikacija koji se pojavio 2009. godine. Njegova osnova je klasični JavaScript, obogaćen ekstenzijama za rad Google usluge. Nakon čitanja ovog članka, savladat ćete osnove korištenja ovog jezika, naučiti nekoliko tehnika za manipulaciju poštom i dokumentima, a također ćete dobiti predstavu o ogromnom Google funkcije Apps Script.

Osnove upotrebe

Početak pisanja skripti za Google Apps je vrlo jednostavan. Prvi korak je otvaranje uređivača skripte u bilo kojoj aplikaciji, interakciju s kojom ćemo automatizirati. AT Google dokumenti nalazi se u meniju "Tools -> Script Editor". Zatim morate odabrati projekat unutar kojeg će se skripta nalaziti (vidi sliku 1). U prozoru koji se otvori upišite kod:

Funkcija FirstExampleFunc() ( Browser.msgBox("To je JS!"); )

Deklarisana funkcija se može pokrenuti iz "Alati -> Upravljanje skriptama" ili uraditi za nju odvojeno dugme. Da biste to učinili, morate registrirati drugu funkciju:

Function menu() ( var ss = SpreadsheetApp.getActiveSpreadsheet(); var entries = [ (ime: "Moja jedina funkcija", functionName: "FirstExampleFunc"), ss.addMenu("Moje funkcije", unosi); )

Sada imamo stavku u našem meniju pod nazivom ExampleFunc, koja, kada se klikne, otvara podmeni u jednom redu "Moja jedina funkcija".

Deklarisane funkcije se mogu koristiti u formulama koje se unose unutar ćelija tabele (pogledajte sliku 3). Pređimo sada na praktičnije primjere.



UPOZORENJE

Prije pokretanja skripte, ne zaboravite to učiniti backup važna informacija. Radnje koje izvodi GS ne mogu se poništiti pritiskom .

Rad sa Google dokumentima

Kada se pojavi zadatak automatizacije rada sa kancelarijskim dokumentima, prvo što nam padne na pamet je VBA, čije samo spominjanje na mnoge deluje totalno anti-ekstatično, evocirajući bolne uspomene iz školske i fakultetske prošlosti. Google Script je definitivno praktičniji i lakši za razumijevanje. Posebno za web programere, jer je ovo domaći, poznati i omiljeni JS! Hajde da analiziramo nekoliko primjera skripti za Google dokumente. Gornji kod ispunjava gornju lijevu ćeliju prvog lista aktivne tablice:

Varss = SpreadsheetApp.getActiveSpreadsheet(); varsheet = ss.getSheets(); sheet.getRange("A1").setValue("Sadržaj ćelije");

I ovaj kod kreira kopiju tekstualnog dokumenta i stavlja je na određeno mjesto:

Varsource = DocsList.getFileById("SOURCE_ID"); var newFile = source.makeCopy("novo ime datoteke"); var targetFolder = DocsList.getFolderById("ID fascikle u koju će biti smeštena novokreirana datoteka"); newFile.addToFolder(targetFolder);

A ovako možete zamijeniti redove u tekstualnom dokumentu:

Var doc = DocumentApp.openById("ID dokumenta koji se uređuje"); doc.editAsText().replaceText("stari tekst", "novi tekst"); Logger.log(doc.getText())

Sljedeći primjer koda ističe određene riječi u tekstu:

Vardoc = DocumentApp.openById("id dokumenta"); var textToHighlight = "tekst za isticanje"; var highlightStyle = (); highlightStyle = "#FF0000"; var paras = doc.getParagraphs(); var textLocation = (); za (i=0; i

UPOZORENJE

Imajte na umu da Gmail ne samo da štiti od dolazne neželjene pošte, već i ograničava odlaznu neželjenu poštu. Više od 500 pisama dnevno od Google Apps Script se neće zatvoriti.

Rad sa Google prevodiocem

Uz Google Apps Script možete prevesti tekstualni nizovi sa jednog jezika na drugi. primjer:

Var word = LanguageApp.translate("cuckoo", "ru", "es"); logger.log(riječ); // Skripta će ispisati na konzoli "cuco" - kukavica na španskom

Kodovi za jezike se mogu vidjeti u adresnoj traci usluge Google Translate.

INFO

Ako označite kod i pritisnite , tada će sva udubljenja za uslove, petlje, deklarirane funkcije i sva druga mjesta na kojima bi trebali biti biti magično postavljena.

Rad sa Google diskom

Google Apps Script može raditi sa korisničkim fajlovima koji se nalaze na Google disk. Ova skripta ispisuje imena svih korisničkih datoteka na konzolu:

Varfiles = DriveApp.getFiles(); while (files.hasNext()) (var file = files.next(); Logger.log(file.getName()); )

Deseci se mogu primijeniti na fajlove razne metode. Evo nekih od njih:

  • addEditor("korisnička e-pošta") - daje korisniku prava za uređivanje datoteke;
  • getOwner() - dobiti vlasnika fajla;
  • makeCopy("name", "path") - kreirajte kopiju datoteke;
  • getLastUpdated() - Vraća korisnika koji je napravio posljednju promjenu.

Rad sa Google kontaktima

Adresar također može biti podvrgnut automatizovana obrada. Kôd ispod kopira sve kontakte iz grupe "Revizija" u Google Spread Sheet:

Var group = ContactsApp.getContactGroup("Revizija"); var contacts = group.getContacts(); var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName("Kontakti urednika"); for (var i u kontaktima) ( // Sačuvajte podatke o kontaktu u ćelije: ime, prezime, broj telefona sheet.getRange(i, 1, 1, 1).setValue(contacts[i].getGivenName()); list getRange(i, 2, 1, 1).setValue(contacts[i].getFamilyName()); sheet.getRange(i, 3, 1, 1).setValue(contacts[i].getPhones()); / / A postoji i metoda za dobijanje broja pejdžera (!) kontakt lista.getRange(i, 4, 1, 1).setValue(contacts[i].getPager()); )

Rad sa Google Tasks

Koristeći Google Apps Scripts, možete raditi sa uslugom Google Task - kreirajte nove zadatke i analizirajte postojeće.

Ovaj kod kreira novi slučaj na listi:

// Možete pronaći ID liste zadataka unutra adresna traka u usluzi Google Task var taskListId="id liste zadataka,"; var newTask = ( naslov: "Bacanje sjemenki hurme", napomene: "Ne zaboravite sjemenke hurme ispod kreveta" ); newTask = Tasks.Tasks.insert(newTask, taskListId); Logger.log("Zadatak sa ID-om "%s" kreiran", newTask.id);

I na ovaj način možete prikazati listu numeriranih zadataka u konzoli:

// Stavljanje svih zadataka na listu u niz var tasks = Tasks.Tasks.list(taskListId); za (var i = 0; i< tasks.items.length; i++) { var task = tasks.items[i]; Logger.log(i. ". ",%s, task.title, task.id); }

Zadaci se mogu premještati s jedne liste na drugu metodom premještanja, dodavati metodom ažuriranja i brisati metodom brisanja.

Ukupno postoji nekoliko desetina metoda za rad sa zadacima. Njihova potpuna lista dostupna je u Google Apps Script References za Google Tasks.

Rad sa kalendarom

Takođe možete automatski kreirati događaje u kalendaru (i, baš kao u slučaju mailing liste, generisati informacije o njima iz redova tabele). Kod za kreiranje događaja:

VartimeZone = CalendarApp.getTimeZone(); var description = Utilities.formatString("%s od %s do %s", "naslov događaja", dateString_("datum početka događaja", "vremenska zona"), dateString_("datum završetka događaja", "vremenska zona") ); CalendarApp.createEventFromDescription(opis);

Obrasci za razmjenu skripti

Gadget je kontejnerska aplikacija koja se nalazi na web stranici i radi određene funkcije. Primeri: mini-kutija u uglu stranice sa vremenskom prognozom ili kalendarom. Da biste postavili Google Script unutar gadgeta, potrebno je da odaberete stavku "Objavi -> Postavi kao web aplikaciju" u meniju uređivača skripte.

INFO

I ako pritisnete , tada će se uključiti način automatskog dovršavanja, odnosno uređivač će dovršiti kod umjesto vas.

Događaji

Možete postaviti skriptu za pokretanje nakon određenog događaja. Na primjer, nakon otvaranja/uređivanja tabele ili slanja podataka obrasca.

Rad sa bazama podataka

Da biste to učinili, postoji servis za rad sa bazama podataka. Google Cloud SQL. Zapravo - klasični MySQL u oblaku. Može komunicirati sa Google Apps Script koristeći Java Database Connectivity standard. Evo primjera koda koji čita zapise iz tabele:

Var conn = Jdbc.getConnection(dbUrl, korisnik, userPwd); var start = novi datum(); varstmt = conn.createStatement(); stmt.setMaxRows(1000); var results = stmt.executeQuery("SELECT * FROM entries"); var numCols = results.getMetaData().getColumnCount(); while (results.next()) ( var rowString = ""; for (var col = 0; col< numCols; col++) { rowString += results.getString(col + 1) + "\t"; } Logger.log(rowString) } results.close(); stmt.close();

Cijena korištenja usluge je 88 USD godišnje za 10 GB slobodan prostor. sa drugim bazama Google podaci Apps Script, nažalost, ne može raditi. Ako planirate da napišete skriptu koja treba da bude u interakciji sa podacima, nemojte se odmah frustrirati ili potrošiti svoj budžet donacijama za kupovinu terenskih vozila za stanovnike Silicijumske doline. Postoje dva načina da izađete iz ove situacije:

  • prvi je pohranjivanje podataka u obliku tabela na Google Drive;
  • drugi je postavljanje baze server treće strane, postavite (php)(hode.js)(python)(etc.) skriptu na njega koja će izvršiti zahtjev za njega i vratiti odgovor na json formatu ili XML, a on se, zauzvrat, analizira unutar GS-a.

Aplikacije s kojima Google Apps Script može komunicirati

Mislim da nije svaki naš čitalac uspio sve probati Google online usluge. Kako bismo proširili vidike i potaknuli kreativnu maštu, predstavljamo kratka recenzija funkcije aplikacije koje se mogu automatizirati korištenjem Google Apps Script-a.

  • Google Mail - mail klijent. Najzanimljivije u njemu je mogućnost slanja pisama ljudima čije adrese su nepoznate. Da biste to učinili, omogućite postavku "Pošalji e-poštu". Google korisnici+" i unesite ime i prezime primaoca u polje "Za".
  • Google kalendar - organizator. Najpogodnija stvar u njemu je mogućnost slanja SMS obavijesti o događajima na brojeve ruskih operatera.
  • Google kontakti je aplikacija za pohranjivanje kontakata. Najbolja stvar u vezi s tim je da ako slučajno sinhronizirate svoju listu kontakata s novim pametnim telefonom i sva imena budu izbrisana, možete pitati Google sigurnosna kopija kopija prethodna verzija, koji je zauvijek sačuvan u njegovoj arhivi.
  • Google disk- pohrana u oblaku podaci. 15 GB, na kojem se nalaze i podaci svih ostalih aplikacija, dostupno je besplatno.
  • google mape- online karte. Stanovnici CIS-a imaju sreće, imaju alternativni alat za izgradnju ruta i gledanje uličnih panorama - Yandex.Maps. Za stanovnike većine drugih teritorija nema alternative. Google Maps je jedini globalni sistem mapiranja koji vam omogućava pretraživanje naselja, unoseći nazive na jeziku države u kojoj se nalaze. Pretpostavimo, ne Kotlas, nego Kotlas, ne Vagharshapat, već Վաղարշապատ.
  • Google dokumenti - online uređivač kancelarijski dokumenti. U vrijeme pisanja ovog članka, ova usluga je napravila mega-proboj - postalo je moguće uređivati ​​dokumente kreirane u microsoft office. To se dogodilo nakon integracije servisa sa funkcionalnošću Quickoffice aplikacije. Radi interesa pokušao sam urediti objašnjenje diplome u Google Docs-u (kao primjer dokumenta najjednostavnijeg formatiranja). docx konverzija u google formatu morao je čekati oko minut, i izgled tekst se jasno razlikuje od originala.
  • Google Forms vam omogućava da kreirate obrasce za prikupljanje različitih podataka (online anketa, stranica za registraciju za događaj, povratne informacije za stranicu, itd.), koji se mogu povezati sa tabelama u raznim formatima(HTML, CVS, TXT, PDF, RSS, XLS, ODF). Prikupljeni podaci se pohranjuju na Google Drive.
  • Google Sites- besplatni hosting(100 Mb) s izuzetno ograničenom funkcionalnošću i vlastitom wiki oznakom. HTML sa svim funkcijama, kao ni CSS i JS, nisu dostupni.

SRC

Po staroj dobroj tradiciji, staroj skoro tri mjeseca, objavili smo nekoliko izvora na GitHub-u:

  • autodeletemail.gs - briše poruke koje su primljene n dana;
  • snoozeemails.gs - skripta za ponovno slanje pročitanih e-poruka sebi nakon određenog vremenskog perioda;
  • sendsmsaboutemails.gs - konfiguriše slanje SMS-a u slučaju prijema pisama koja ispunjavaju određene kriterijume. Prije korištenja, morate navesti svoj broj google telefon kalendar;
  • savemailtodfindrive.gs - čuva sadržaj pisma u fajlovima na Google disku;
  • fromcalendartospreadsheet.gs - upisuje informacije iz kalendara u tabelu;
  • sendmailsfromspreadsheet.gs - šalje pisma na listu adresa iz tabele;
  • createdocsfromspread.gs - generiše tekstualni dokumenti iz podataka u tabeli.

Napredne Google usluge

Google ima mnogo razvojnih API-ja koje možete ugraditi u programe napisane u Google Apps Script. Da biste to učinili, morate omogućiti ovu funkciju u uređivaču skripti (u izborniku Resursi, zatim Napredno Google usluge). Nakon toga biće moguće koristiti mogućnosti sljedećih servisa:

  • Google AdSense je servis za rad sa kontekstualnim oglasima.
  • Google Analytics - analizira promet na web stranicama i mobilnim aplikacijama.
  • Google BigQuery - omogućava vam da izvršite razne manipulacije (pisanje, čitanje, kretanje i tako dalje) nad velikim količinama podataka, kao i da ih analizirate.
  • Google Fusion Tables je eksperimentalna usluga koja vam omogućava da hostujete podatke u oblaku, šaljete im upite i primate rezultate izvršenja u JSON i CSV formatu. Od čega je, pak, moguće formirati tabele, karte, grafikoni i druge vrste vizuelna prezentacija podaci.
  • Google Domains - usluga registracije domena ( novi projekat otvorena krajem juna 2014.).
  • Google Mirror - API za interakciju sa Google Glassom.
  • Google Prediction je usluga analize podataka (bazirana na tehnologiji mašinsko učenje). Omogućava implementaciju sljedećih funkcija u aplikacijama: klasifikator dokumenata i pisama, izračunavanje stope odljeva (user churn rate), detektor neželjene pošte, optimizator rutiranja poruka i mnoge druge zanimljive stvari vrijedne posebnog članka.
  • Google Tasks - ugrađeni Gmail usluga za pravljenje liste obaveza.
  • Google URL Shortener je omiljeni servis našeg časopisa za skraćivanje dugih linkova.
  • YouTube Analytics je servis za analizu statistike pregleda videa na YotTubeu. Značajan po mogućnosti saznanja demografskih i geografskih karakteristika korisnika koji gledaju određeni video. Uostalom, zanimljivo je objaviti još jednu kopiju spota za pjesmu “Zbogom, sidekick” i analizirati kog pola, godina i mjesta stanovanja slušaoci.

Dobar dan, dragi čitaoci, loši momci, zlikovci, dobronamjernici i druge ličnosti. Danas smo o Google skripte, tačnije skripte u tabelama kao takve.

Mislim da mnogi od vas znaju kako se koriste excel„Jedem ili, i neke, možda čak.

Oni koji koriste disk Google (Google disk), vjerovatno već korištene tablice (Tabele) i primijetio da su malo inferiorniji u odnosu na Excel u smislu funkcionalnosti, ali je ipak i dalje moćan alat.

Pa, bilo je makroa u Excelu. (takve naredbe koje pojednostavljuju i automatiziraju proračune) napisano na nepoznatom jeziku VBA (Visual Basic za aplikacije). U tablicama Google postoje i makroi koji se zovu skripte i već su napisani na jeziku javascript. Danas ćemo ih upoznati.

Unaprijed vas upozoravam moguća složenost dalji primjer, pošto nije toliko edukativno koliko jeste.. Mm.. Da tako kažem, krajnja činjenica koju možete koristiti i.. I razvijati, ako vam je poznata.

Okupite se u klupko mozga.. I da pocnemo :)

Kreiranje tabele Google Drive/Scripts i popunjavanje sadržajem

Razmotrite ovaj jednostavan problem:
Imamo dvije kolone, u prvu upisujemo nazive voća, a u drugu boju koja odgovara ovom voću. I želimo da kada unesete boju u kolonu boja, boja imena voća se automatski promijeni.

Ako ste uopšte zaboravili da koristite dokumente Google, onda ste dobrodošli da pročitate odgovarajuće i već spomenuto gore. Ako vam uopšte ne treba, onda verovatno nema smisla dalje čitati. Mada, naravno, koga briga :)

Dakle, krenimo novi sto Google, mi to zovemo, na primjer, " Voće". Pa, kao npr.. S obzirom da se u primjeru radi o voću, onda.. Pa razumiješ :)

Sada dodajemo naše voće i boje na prvi list:

Bilješka! Da bi se plodovi mogli prebrojati, uđite u ćeliju A1 formula:

Želite li sami znati i moći više?

Nudimo vam obuku u sledećim oblastima: računari, programi, administracija, serveri, mreže, izrada sajtova, SEO i drugo. Saznajte detalje sada!

="voće("&BROJ(A2:A)&")"

Sada kreirajmo makro. Da biste to učinili, idite na meni " Instrumenti"i izaberi" Upravljanje skriptama". Pojavit će se iskačući meni gdje kliknemo na dugme " Stvoriti".

U prozoru koji se pojavi odaberite " Prazan projekat".

Otvara se uređivač, koji na prvi pogled (i drugi takođe) može izazvati stupor.

Zapravo, šta je sljedeće? A onda počinjemo pisati vlastiti makro olovkama (da, sasvim sama). Kako će izgledati naš makro? Morate napraviti dijagram ovog procesa (inače će vam ovaj proces trajati jako dugo).

Trebamo:

  1. Dobijte vrijednosti boja iz druge kolone;
  2. Postavite boje za prvi stupac prema ovim vrijednostima.

Dakle.. Sve izgleda jednostavno.. Ako znate kako se to radi, naravno :)

shCoding

Pređimo na sam kod:

Funkcija onOpen() ( var sheet = SpreadsheetApp.getActiveSpreadsheet(); var entries = [(name: "Paint",functionName: "MakeMeHappy")]; sheet.addMenu("Skripte", unosi); ); funkcija MakeMeHappy()( var sheet = SpreadsheetApp.getActiveSpreadsheet(); var raspon = sheet.getActiveRange(); var data = range.getValues(); if(range.getColumn() == 2)( za (var i=0 ;i< data.length;i++){ range.offset(i,-1,1,1).clearFormat(); range.offset(i,-1,1,1).setHorizontalAlignment("center"); range.offset(i,-1,1,1).setVerticalAlignment("center"); switch (data[i]){ case "зеленый": case "Зеленый": range.offset(i,-1,1,1).setFontColor("#00dd00"); break; case "салатовый": case "Салатовый": range.offset(i,-1,1,1).setBackgroundColor("#87dd47"); break; case "желтый": case "Желтый": range.offset(i,-1,1,1).setBackgroundColor("#ffff00"); break; case "оранжевый": case "Оранжевый": range.offset(i,-1,1,1).setFontColor("#dd7711"); break; case "красный": case "Красный": range.offset(i,-1,1,1).setFontColor("#dd0000"); break; case "фиолетовый": case "Фиолетовый": range.offset(i,-1,1,1).setFontColor("#800080"); break; default: break; } } } };

Sada ću pokušati da vam objasnim. Funkcija onOpen dodaje meni " Skripte"do stola kada ga otvoriš. A ova stvar izgleda ovako:

Sada za kod:

Varsheet = SpreadsheetApp.getActiveSpreadsheet();

Ova linija dodaje varijablu list identifikator dokumenta koji smo otvorili, tako da se kasnije možemo pozvati na dokument koristeći ga.

Var unosi = [(name: "Make",functionName: "MakeMeHappy")];

Ova varijabla niza sadrži listu imena menija i funkcija koje se izvršavaju kada se klikne na ove menije.

Sheet.addMenu("Skripte", unosi);

Ova metoda dodaje meni našem dokumentu " Skripte".

Funkcija usreći me, u stvari, to će biti naše glavna funkcija, koji boji voće.
Prvo deklariram varijable:

Varsheet = SpreadsheetApp.getActiveSpreadsheet(); var raspon = sheet.getActiveRange(); var data = range.getValues();

Shodno tome, u varijabli list je ID našeg dokumenta. U varijablu domet nalazi se područje koje smo odabrali (na primjer, ćelije B2:B6), u varijablu podaci su vrijednosti ovih ćelija u obliku niza.

If(range.getColumn() == 2)(...)

U ovom stanju provjeravamo da li odabrani raspon ćelija odgovara drugoj koloni (koja ima boje voća).

Za (var i=0;i< data.length;i++){...}

U ovoj petlji prolazimo kroz svaku ćeliju iz raspona B2:B

Range.offset(i,-1,1,1).clearFormat(); range.offset(i,-1,1,1).setHorizontalAlignment("centar"); range.offset(i,-1,1,1).setVerticalAlignment("center");

Ova tri svojstva uklanjaju formatiranje ćelije A[i](Na primjer, A1, A2, A3 itd., jer nalazimo se unutar petlje) i također centrirajte vrijednosti u ćeliji okomito i horizontalno.

Ovdje treba imati na umu da od naš asortiman je sekunda kolona ( P2: B), i moramo ukloniti formatiranje i centar prvo kolonu, tada se za to koristi metoda offset(broj reda opsega, broj kolone, broj redova, broj kolona). Na primjer, metoda raspon.offset(0,1,4,3) za ćeliju B2(oni. domet odgovara B2:B2) će značiti da nećemo djelovati na ćeliju B2:B2, i na dometu [ B+ 1][ 2 + 0]:[ AT+ 3][ 2 + (4 -1)] = C2:E5. Za više detalja pogledajte.

Switch (data[i])( case "green": case "green": range.offset(i,-1,1,1).setFontColor("#00dd00"); break; case "green": case " Svijetlo zelena ": range.offset(i,-1,1,1).setBackgroundColor("#87dd47"); break; ... )

Funkcija prekidač je takozvani prekidač. Gleda vrijednost varijable i, u skladu sa onim što je u njoj pohranjeno, ispunjava određeni uvjet" slučaj". Možete ga prepisati standardni obrazac ako drugačije. Ali to će biti veoma nezgodno. Na primjer:

Prekidač (c)( slučaj 1: stanje_1; prekid; slučaj 2: stanje_2; prekid; slučaj 3: stanje_3; prekid; zadano: stanje_4; prekid; )

Biće ekvivalentno funkciji:

Ako je (c == 1) uslov_1; inače if (c == 2) uslov_2; inače if (c == 3) uslov_3; else condition_4;

Jer možete unijeti boju sa velikim i malim slovom, tada su nam potrebna po dva uslova, koji odgovaraju unosu case "green": case "Green": akcija; break; (Imam to napisano u blok strukturi). Morate imati na umu da nakon svake akcije trebate napisati funkciju break; jer inače ćemo ispuniti sve uslove uredno, a ne onaj koji nam je potreban. Stanje default koristi se kada ne postoji odgovarajući uslov za našu varijablu.

Range.offset(i,-1,1,1).setFontColor("#00dd00");

Metode setFontColor i setBackgroundColor postavite boju teksta i pozadine u obrascu #rrggbb (r-crvena, g-zelena, b-plava, raspon boja) respektivno.

Sada provjerimo funkciju. Odabir raspona B2:B9, idite na meni Skripte" i odaberite opciju " boja". Da vidimo kako su naši plodovi našli život u boji :)

Generalno, to je sve. Ali ne baš.

Google skripte i makroi za tabelarne proračune, dodatak

Ali možete napraviti mali dodatak tako da ne morate svaki put ručno pokretati funkcije.

Da biste to učinili, idite na uređivač skripte u meniju " Resursi"i odaberite tamo" Trenutni pokretači projekta Otvara se meni u kojem će se već nalaziti naša funkcija onLoad. Dodavanje nova funkcija (1 ) i postavite naziv funkcije (2 ) i vrstu njegove aktivacije (3 ). Također možete kliknuti na " Obavještenja" i dodajte/uklonite svoje poštanska adresa sa liste obavještenja.

Doći će ako je skripta izvršena s greškama.

Krajnji rezultat akcije:

Nastavci - pripremamo i tri. Pa, komentari svakako sadrže dosta ukusnih stvari.

P.S. Za postojanje ovog članka, posebno se zahvaljujemo prijatelju projekta i članu našeg tima pod nadimkom „barn4k“.

Google Apps Script je jezik za automatizaciju onlajn aplikacija koji se pojavio 2009. godine. Njegova osnova je klasični JavaScript, obogaćen ekstenzijama za rad sa Google servisima. Nakon čitanja ovog članka, savladat ćete osnove korištenja ovog jezika, naučiti nekoliko tehnika za manipulaciju poštom i dokumentima, a također ćete steći predstavu o neograničenim mogućnostima Google Apps Script-a.

Osnove upotrebe

Početak pisanja skripti za Google Apps je vrlo jednostavan. Prvi korak je otvaranje uređivača skripte u bilo kojoj aplikaciji, interakciju s kojom ćemo automatizirati. U Google dokumentima, nalazi se u meniju "Alati -> Uređivač skripti". Zatim morate odabrati projekat unutar kojeg će se skripta nalaziti (vidi sliku 1). U prozoru koji se otvori upišite kod:

Funkcija FirstExampleFunc() ( Browser.msgBox("To je JS!"); )

Deklarisana funkcija se može pokrenuti iz "Alati -> Upravljanje skriptama" ili napraviti posebno dugme za nju. Da biste to učinili, morate registrirati drugu funkciju:

Function menu() ( var ss = SpreadsheetApp.getActiveSpreadsheet(); var entries = [ (ime: "Moja jedina funkcija", functionName: "FirstExampleFunc"), ss.addMenu("Moje funkcije", unosi); )

Sada imamo stavku u našem meniju pod nazivom ExampleFunc, koja, kada se klikne, otvara podmeni u jednom redu "Moja jedina funkcija".

Deklarisane funkcije se mogu koristiti u formulama koje se unose unutar ćelija tabele (pogledajte sliku 3). Pređimo sada na praktičnije primjere.

UPOZORENJE

Prije pokretanja skripte, ne zaboravite napraviti sigurnosnu kopiju važnih informacija. Radnje koje izvodi GS ne mogu se poništiti pritiskom .

Rad sa Google dokumentima

Kada se pojavi zadatak automatizacije rada sa kancelarijskim dokumentima, prvo što nam padne na pamet je VBA, čije samo spominjanje na mnoge deluje totalno anti-ekstatično, evocirajući bolne uspomene iz školske i fakultetske prošlosti. Google Script je definitivno praktičniji i lakši za razumijevanje. Posebno za web programere, jer je ovo domaći, poznati i omiljeni JS! Hajde da analiziramo nekoliko primjera skripti za Google dokumente. Gornji kod ispunjava gornju lijevu ćeliju prvog lista aktivne tablice:

Varss = SpreadsheetApp.getActiveSpreadsheet(); varsheet = ss.getSheets(); sheet.getRange("A1").setValue("Sadržaj ćelije");

I ovaj kod kreira kopiju tekstualnog dokumenta i stavlja je na određeno mjesto:

Varsource = DocsList.getFileById("SOURCE_ID"); var newFile = source.makeCopy("novo ime datoteke"); var targetFolder = DocsList.getFolderById("ID fascikle u koju će biti smeštena novokreirana datoteka"); newFile.addToFolder(targetFolder);

A ovako možete zamijeniti redove u tekstualnom dokumentu:

Var doc = DocumentApp.openById("ID dokumenta koji se uređuje"); doc.editAsText().replaceText("stari tekst", "novi tekst"); Logger.log(doc.getText())

Sljedeći primjer koda ističe određene riječi u tekstu:

Vardoc = DocumentApp.openById("id dokumenta"); var textToHighlight = "tekst za isticanje"; var highlightStyle = (); highlightStyle = "#FF0000"; var paras = doc.getParagraphs(); var textLocation = (); za (i=0; i

detalji:

  • Reference Google Apps skripte za Google dokument
  • Reference Google Apps skripte za Google tabelu

INFO

Ako pišete skriptu koja uključuje funkcije pretraživanja/zamjene teksta, zapamtite da GS podržava regularne izraze.

Poslovi pošte

E-mail se šalje u jednom kratkom redu: MailApp.sendEmail(" [email protected]“, “predmet pisma”, “tekst pisma”) Ako mu dodate još malo koda, možete organizirati mailing listu prema listi adresa iz tabele (potražite izvor u aplikaciji) :

Varsheet = SpreadsheetApp.getActiveSheet(); var numRows = sheet.getLastRow(); var dataRange = sheet.getRange(1, 1, numRows, 2) var data = dataRange.getValues(); za (var i = 0; i< data.length; ++i) { var row = data[i]; var name = row; var email = row; var subject = "Тема письма"; var message = "Здравствуйте, " + name + "!"; MailApp.sendEmail(email, subject, message); }

Pored slanja pošte, GS se može koristiti za automatsku obradu sadržaja poštanskog sandučeta. Primjer je brisanje svih pisama od primaoca koji vas vrijeđa:

Varthreads = GmailApp.search(" [email protected]"); for(var i = 0; i< threads.length; i++) { var messages = threads[i].getMessages(); for(var j = 0; j < messages.length; j++) { messages[j].moveToTrash(); } }

UPOZORENJE

Imajte na umu da Gmail ne samo da štiti od dolazne neželjene pošte, već i ograničava odlaznu neželjenu poštu. Više od 500 slova dnevno koristeći Google Apps Script neće raditi.

Rad sa Google prevodiocem

Uz Google Apps Script, možete prevoditi tekstualne nizove s jednog jezika na drugi. primjer:

Var word = LanguageApp.translate("cuckoo", "ru", "es"); logger.log(riječ); // Skripta će ispisati na konzoli "cuco" - kukavica na španskom

Kodovi za jezike se mogu vidjeti u adresnoj traci usluge Google Translate.

INFO

Ako označite kod i pritisnite , tada će sva udubljenja za uslove, petlje, deklarirane funkcije i sva druga mjesta na kojima bi trebali biti biti magično postavljena.

Rad sa Google diskom

Google Apps Script može raditi sa korisničkim fajlovima koji se nalaze na Google disku. Ova skripta ispisuje imena svih korisničkih datoteka na konzolu:

Varfiles = DriveApp.getFiles(); while (files.hasNext()) (var file = files.next(); Logger.log(file.getName()); )

Deseci različitih metoda se mogu primijeniti na datoteke. Evo nekih od njih:

  • addEditor("korisnička e-pošta") - daje korisniku prava za uređivanje datoteke;
  • getOwner() - saznati vlasnika datoteke;
  • makeCopy("name", "path") - kreirajte kopiju datoteke;
  • getLastUpdated() - Vraća korisnika koji je napravio posljednju promjenu.

Rad sa Google kontaktima

Adresar se također može podvrgnuti automatiziranoj obradi. Kôd ispod kopira sve kontakte iz grupe "Revizija" u Google Spread Sheet:

Var group = ContactsApp.getContactGroup("Revizija"); var contacts = group.getContacts(); var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName("Kontakti urednika"); for (var i u kontaktima) ( // Sačuvajte podatke o kontaktu u ćelije: ime, prezime, broj telefona sheet.getRange(i, 1, 1, 1).setValue(contacts[i].getGivenName()); list getRange(i, 2, 1, 1).setValue(contacts[i].getFamilyName()); sheet.getRange(i, 3, 1, 1).setValue(contacts[i].getPhones()); / / A postoji i metoda za dobijanje broja pejdžera (!) kontakt lista.getRange(i, 4, 1, 1).setValue(contacts[i].getPager()); )

Rad sa Google Tasks

Koristeći Google Apps Scripts, možete raditi sa uslugom Google Task - kreirajte nove zadatke i analizirajte postojeće.

Ovaj kod kreira novi slučaj na listi:

// ID liste zadataka možete pronaći unutar adresne trake u usluzi Google Task var taskListId="tasklist id,"; var newTask = ( naslov: "Bacanje sjemenki hurme", napomene: "Ne zaboravite sjemenke hurme ispod kreveta" ); newTask = Tasks.Tasks.insert(newTask, taskListId); Logger.log("Zadatak sa ID-om "%s" kreiran", newTask.id);

I na ovaj način možete prikazati listu numeriranih zadataka u konzoli:

// Stavljanje svih zadataka na listu u niz var tasks = Tasks.Tasks.list(taskListId); za (var i = 0; i< tasks.items.length; i++) { var task = tasks.items[i]; Logger.log(i. ". ",%s, task.title, task.id); }

Zadaci se mogu premještati s jedne liste na drugu metodom premještanja, dodavati metodom ažuriranja i brisati metodom brisanja.

Rad sa kalendarom

Takođe možete automatski kreirati događaje u kalendaru (i, baš kao u slučaju mailing liste, generisati informacije o njima iz redova tabele). Kod za kreiranje događaja:

VartimeZone = CalendarApp.getTimeZone(); var description = Utilities.formatString("%s od %s do %s", "naslov događaja", dateString_("datum početka događaja", "vremenska zona"), dateString_("datum završetka događaja", "vremenska zona") ); CalendarApp.createEventFromDescription(opis);

Obrasci za razmjenu skripti

Gadget je kontejnerska aplikacija koja se nalazi na web stranici i obavlja određene funkcije. Primeri: mini-kutija u uglu stranice sa vremenskom prognozom ili kalendarom. Da biste postavili Google Script unutar gadgeta, potrebno je da odaberete stavku "Objavi -> Postavi kao web aplikaciju" u meniju uređivača skripte.

INFO

I ako pritisnete , tada će se uključiti način automatskog dovršavanja, odnosno uređivač će dovršiti kod umjesto vas.

Događaji

Možete postaviti skriptu za pokretanje nakon određenog događaja. Na primjer, nakon otvaranja/uređivanja tabele ili slanja podataka obrasca.

Rad sa bazama podataka

Da biste to učinili, postoji usluga za rad s Google Cloud SQL bazama podataka. Zapravo - klasični MySQL u oblaku. Može komunicirati sa Google Apps Script koristeći Java Database Connectivity standard. Evo primjera koda koji čita zapise iz tabele:

Var conn = Jdbc.getConnection(dbUrl, korisnik, userPwd); var start = novi datum(); varstmt = conn.createStatement(); stmt.setMaxRows(1000); var results = stmt.executeQuery("SELECT * FROM entries"); var numCols = results.getMetaData().getColumnCount(); while (results.next()) ( var rowString = ""; for (var col = 0; col< numCols; col++) { rowString += results.getString(col + 1) + "\t"; } Logger.log(rowString) } results.close(); stmt.close();

Cijena korištenja usluge je 88 USD godišnje za 10 GB slobodnog prostora. Nažalost, Google Apps Script ne može raditi s drugim bazama podataka. Ako planirate da napišete skriptu koja treba da bude u interakciji sa podacima, nemojte se odmah frustrirati ili potrošiti svoj budžet donacijama za kupovinu terenskih vozila za stanovnike Silicijumske doline. Postoje dva načina da izađete iz ove situacije:

  • prvi je pohranjivanje podataka u obliku tabela na Google Drive;
  • drugi je da postavite bazu podataka na server treće strane i na nju postavite (php)(hode.js)(python)(etc.) skriptu koja će izvršiti zahtjev za nju i vratiti odgovor u JSON ili XML formatu, a on se, zauzvrat, analizira unutar GS-a.

Aplikacije s kojima Google Apps Script može komunicirati

Mislim da nije svaki naš čitalac uspio isprobati sve Googleove online usluge. Kako biste proširili svoje vidike i potaknuli svoju kreativnu maštu, evo kratkog pregleda aplikacija koje možete automatizirati koristeći Google Apps Script.

  • Google Mail je klijent e-pošte. Najzanimljivije u njemu je mogućnost slanja pisama ljudima čije adrese su nepoznate. Da biste to učinili, omogućite postavku "Šalji e-poštu korisnicima Google+" i u polje "Prima" unesite ime i prezime primaoca.
  • Google kalendar - organizator. Najpogodnija stvar u vezi s tim je mogućnost slanja SMS obavijesti o događajima na brojeve ruskih operatera.
  • Google kontakti su aplikacija za pohranu kontakata. Najbolja stvar u vezi s tim je da ako slučajno sinhronizujete svoju listu kontakata sa novim pametnim telefonom i sva imena budu izbrisana, možete zatražiti od Google-a rezervnu kopiju prethodne verzije, koja je zauvijek pohranjena u njegovim arhivama.
  • Google disk je skladište u oblaku. 15 GB, na kojem se nalaze i podaci svih ostalih aplikacija, dostupno je besplatno.
  • Google Maps - online karte. Stanovnici CIS-a imaju sreće, imaju alternativni alat za izgradnju ruta i gledanje uličnih panorama - Yandex.Maps. Za stanovnike većine drugih teritorija nema alternative. Google Maps je jedini globalni sistem mapiranja koji vam omogućava da tražite naselja unosom imena na jeziku države u kojoj se nalaze. Pretpostavimo, ne Kotlas, nego Kotlas, ne Vagharshapat, već Վաղարշապատ.
  • Google Docs je online uredjivač uredskih dokumenata. U vrijeme pisanja ovog članka, ova usluga je napravila mega-proboj - postalo je moguće uređivati ​​dokumente kreirane u Microsoft Officeu. To se dogodilo nakon integracije servisa sa funkcionalnošću Quickoffice aplikacije. Radi interesa pokušao sam urediti objašnjenje diplome u Google Docs-u (kao primjer dokumenta najjednostavnijeg formatiranja). Konvertovanje docx-a u Google format trajalo je oko minut, a izgled teksta se jasno razlikovao od originala.
  • Google Forms vam omogućava da kreirate forme za prikupljanje različitih podataka (online anketa, stranica za registraciju događaja, povratne informacije na web stranici, itd.) koje se mogu povezati sa tabelama u različitim formatima (HTML, CVS, TXT, PDF, RSS, XLS, ODF). Prikupljeni podaci se pohranjuju na Google Drive.
  • Google Sites - besplatni hosting (100 Mb) sa izuzetno ograničenom funkcionalnošću i vlastitom wiki oznakom. HTML sa svim funkcijama, kao ni CSS i JS, nisu dostupni.

SRC

Po staroj dobroj tradiciji, staroj skoro tri mjeseca, objavili smo nekoliko izvora na GitHub-u:

  • autodeletemail.gs - briše poruke koje su primljene n dana;
  • snoozeemails.gs - skripta za ponovno slanje pročitanih e-poruka sebi nakon određenog vremenskog perioda;
  • sendsmsaboutemails.gs - konfiguriše slanje SMS-a u slučaju prijema e-pošte koja ispunjava određene kriterijume. Prije korištenja, morate navesti svoj broj telefona u Google kalendaru;
  • savemailtodfindrive.gs - čuva sadržaj pisma u fajlovima na Google disku;
  • fromcalendartospreadsheet.gs - upisuje informacije iz kalendara u tabelu;
  • sendmailsfromspreadsheet.gs - šalje pisma na listu adresa iz tabele;
  • createdocsfromspread.gs - Generira tekstualne dokumente iz podataka u tabeli.

Napredne Google usluge

Google ima mnogo razvojnih API-ja koje možete ugraditi u programe napisane u Google Apps Script. Da biste to učinili, morate omogućiti ovu funkciju u uređivaču skripti (u meniju Resursi, zatim Napredne Google usluge). Nakon toga biće moguće koristiti mogućnosti sljedećih servisa:

  • Google AdSense je servis za rad sa kontekstualnim oglasima.
  • Google Analytics - analizira promet na web stranicama i mobilnim aplikacijama.
  • Google BigQuery - omogućava vam da izvršite razne manipulacije (pisanje, čitanje, kretanje i tako dalje) nad velikim količinama podataka, kao i da ih analizirate.
  • Google Fusion Tables je eksperimentalna usluga koja vam omogućava da hostujete podatke u oblaku, šaljete im upite i primate rezultate izvršenja u JSON i CSV formatu. Iz kojih, zauzvrat, možete kreirati proračunske tablice, karte, grafikone i druge vrste vizualnog prikaza podataka.
  • Google Domains je servis za registraciju domena (novi projekat, otvoren krajem juna 2014. godine).
  • Google Mirror je API za interakciju sa Google Glassom.
  • Google Prediction je usluga analize podataka (bazirana na tehnologiji mašinskog učenja). Omogućava implementaciju sljedećih funkcija u aplikacijama: klasifikator dokumenata i pisama, izračunavanje stope odljeva (user churn rate), detektor neželjene pošte, optimizator rutiranja poruka i mnoge druge zanimljive stvari vrijedne posebnog članka.
  • Google Tasks je Gmail-ova ugrađena usluga liste obaveza.
  • Google URL Shortener je omiljeni servis našeg časopisa za skraćivanje dugih linkova.
  • YouTube Analytics je servis za analizu statistike pregleda videa na YotTubeu. Značajan po mogućnosti saznanja demografskih i geografskih karakteristika korisnika koji gledaju određeni video. Uostalom, zanimljivo je objaviti još jednu kopiju spota za pjesmu “Zbogom, sidekick” i analizirati kog pola, godina i mjesta stanovanja slušaoci.

Još 90-ih godina počeo sam da učim programiranje, a moje prve "komercijalne" aplikacije napisane su u VBA pod MS Excel-om. Još se sjećam kako je bilo zgodno raditi sa gotovim interfejsom, funkcijama za manipulaciju podacima i adresabilnim ćelijama... Ovo, u principu, normalan način učenja programiranja, sada ima nekoliko nedostataka. Prvo, nije dobro povezivati ​​se sa vlasničkim razvojnim okruženjem i okruženjem za izvršavanje koda iz prve aplikacije, a drugo, kome treba visual basic?. Ovdje su JavaScript i GoogleDoc druga stvar. Da, i mogućnosti, s obzirom na "web-interfejs" okruženja za izvršavanje i otvoreni API-ji, mnogo više.
Kako bih pomogao onima koji su zainteresirani za programiranje ćelija, nudim ovdje jednostavnu "lekciju" o kreiranju skripti za Google Spreadsheet.


Kreirajte skriptu

Nadam se da već jeste Google račun. Ulazimo u vaš Google Drive, kreiramo nove Google doc tabela. U meniju našeg novog dokumenta biramo "Tools" -> "Script Editor" i dobijamo prozor u kojem zapravo možete početi sa programiranjem.
Jezik kodiranja je JavaScript, a model sa kojim možete raditi uključuje listove, ćelije, opsege i I/O prozore za interakciju korisnika.

Pišemo kod

Funkcija myFunction() ( var ss = SpreadsheetApp.getActiveSpreadsheet () ; var sheet = ss.getSheets () [ 0 ] ; var first = Browser.inputBox ("Prva vrijednost") ; sheet.getRange ("A1") .setValue ( "Prva vrijednost:" ) ; sheet.getRange ("B1" ) .setValue (prva) ; var next = Browser.inputBox ("Sljedeća vrijednost" ) ; sheet.getRange ("A2" ) .setValue ("Sljedeća vrijednost:" ) ; sheet.getRange("B2") .setValue(next) ;var rezultat = sheet.getRange("B1") .getValue() + sheet.getRange("B2") .getValue() ; sheet.getRange(" A3" ) .setValue ("Rezultat:" ) ; sheet.getRange ("B3" ) .setValue (rezultat) ; Browser.msgBox ("Zbroj je: " + rezultat) ; )
Ovdje je sve prilično jednostavno: objekat SpreadshettApp daje nam instancu dokumenta iz kojeg uzimamo prvi list. Objekt Browser nam omogućava da zatražimo podatke od klijenta i kažemo mu nešto. dijaloški okviri. Da bismo čitali/upisivali podatke ćelije, dobijamo ih sa lista pomoću metode getRange, a zatim koristimo metode getValue/setValue.

Pozivanje naše funkcije

Postoji nekoliko načina da pozovete našu skriptu iz Spreadshett-a. Varijanta sa pozivom preko menija "Alati"-> "Upravljanje skriptama" ne smatramo neupotrebljivom.
Klasična opcija je da počnemo sa dugmetom, mi radimo ovo: ubacimo crtež na list kroz "Insert"-> "Picture" i zatim u meni za crtanje (prikazuje se kada kliknete na njega desni klik) odaberite "Dodijeli skriptu". Unesite naziv funkcije u polje za unos koje se pojavi.
Takođe možete dodati sopstvenu stavku u meni dokumenta i to programski. Dodajte liniju našoj skripti:

Ss.addMenu ("Test" , [ (name : "Test" , functionName: "myFunction" ) ] ) ;
i dobijamo.

Top Related Articles