You are on page 1of 19
Una panoramica sul linguaggio chepud cambiare l'approccio @igervizi di Google: daglI'segipt gia pronti alla scoPegta delle principali funzicni, agn solo pePpregrammatoni. Le applicazioni di Google non hanno bisogno di presentazioni: dal motore di ricerca a Gmail, da Maps alla suite di produttivita, sono strumenti tra i migliori oggi dispo- nibili online. Ma Luniverso Google é cosi vasto da includere anche tool che non tutti conoscono. Tra questi rientrano di sicuro Le funzioni di scripting: tramite JavaScript si pud infatti far comunicare tra loro le applicazioni, personalizzare ambiente di lavoro delle App di Google o automatizzare alcuni compiti ripetitivi e di controllo. Ma anche chi consapevole di queste funzioni spesso se ne tiene alla larga, forse per la poca esperienza con gli ambienti di sviluppo. Se fate parte della schiera degli utenti Google che vorrebbero ma non osano, nelle prossime pagine troverete tutto il necessario per muovere i primi passi: iniziare a usare i Google Apps Script, infattl, & pid semplice di quanto non sembri. € se per diventare esperti ci vuole un po’ di tempo, proseguendo la lettura forniremo le indicazioni per partire con il piede giusto. a molto tempo le applicnzioni pi Patent consentono dfpersonaivzare _ GO0gle Apps Serpt Ai septngineraer grasie 0 queta prions ossoroamplinrelecepace fasiprgamm, pevoraizendet Build web apps and er dna le exgnce specie Setrutentee otteere uno stumento AUtOmate tasks with Tavera ana pia efficace repetto Google Apps Script presenta il copione di aageinenepne menitemescmatmgmine | ale, atuttigliefettiun Saenyean mane whe > programma in miniatura, Disporre di lun matore di scripting integra alin temo dun peogeamma od una suite di applicazion significa avere tra le mani tn linguaggio dl programmazione in tradlodi interagire con I'applicazione essa e i alivame le funzion, Molte delle casddette appliaziont di produttvita oftrona funzioni di ato fazionee pesonalizzazione a partce Gal punto dislerimento dele site per ffi: Microsoft ice integra da mal tianni un vero ambiente di sviluppo un linguaggio dl programmazione creato ad hoe, Visual Base for Appi cations. La carta Vincente di Vba & la Gliserip ele Google Apps sono uno stumento potente erelatvamente sempice da vilzzare Semplicith con ea! qualunque utente per far comunicare tra lore le applicant Google eautomatizare acu compl meccanic sample Srpts Developer Reference Nrtarensenn siereestnn entra rere siteey asttaton “eta eta jot (earacree “Hongetfesriae® meet 000) fernt tah) (laet-Prinage Fs ee nam Is re ee ae eee eee > peti ae ohn te eee ae penes)) fei it pat asi css ae tan ipameta gar cag et ee esa eae eee eee oe oe ere pee Soe oe Holts tale appicaion| pid potent offronainguag sriptngavanzat: AutoCad, er exempio. propane un eet del complesseUnguogge dl pregrammesione Lip, Dud creare nuovi script ¢ comand at» sistem operaivi possono trarte van Traversolleegistatoredimacro, ancora taggio da sript pit o meno compless ‘gg una delle forme di sutomazione per automatizarealcane funzioni Gia pil conosciute eintutve, LbreOfice, i flebatch derlvatida MsDos sono una tuno dei fork i maggior sucesso del _ radimentale forma di scripts anche es progetto OpenOilice si spinge in un tratta pet lo plu di serie dicomandi di fet senso ancora pidinis,e permette shell da eseguire in sequenca,alcune Di suoi utenti dt segliere ta quattro semplicstrtturedi control eles Tinguaggi di scripting (Python, Java,Ja-_cuzione Ii rendono comungue similia ‘aSeripte Basic) uth dispomioialin-microscopis, semplici programms. Le temo del uo ambiente di viluppoe evoluzioni di questo slatema di auto ‘utomazione, Srumentanaloghi sono mazione, Windoves Scripting Hoste gli disposizione deg utent dh WoxdPer- script di PowerShell peemettono Oggi fect, CorelDrave, AutoCad e di molki_ di realizzaresoluzioni ben pi com altrsoftvaredifusin tutte mondo, —plessec integrate con tutto le funzioni Estondendo un po'lldiscorso,anchei di Windows; e presto nelYambiente Windows arriverd anche Bash, una delle shell pia potenti e diffuse negli fambienls Unix/ Linus, Da ultino, ma ‘certo non per importanza, uta ta fami ‘lin delle applicazioni Googie offre at Soi molt tenia possibilia di ceare funcioni personalizzateall interno dei docutnento piccole applicaion! sand alone, colegare le numerose appli= ‘azioni della plattaforma e far 3 che ‘ominichino tr loro. Questo€ possi- bile grazie a un linguaggio di scripting Dasato su Javascript e un ambiente dt sviluppo integrated certo perfetibile ma semplice da uilzzare, ma soprat- tuto grazie alaccesso istantaneo a tutte le fanzioni che siamo abituat ad uizzare nelle applicazioni delleco- sistema Google In questo artcolo cercheremo di mo- strate na pieola parte dei che sh pu fare, attraverao le funzion| dl sep ting delle Google Apps. Otfiremouna rapida panoramicn del linguegio © dell ambiente di sviluppo,cvispieghe- remo come sfrutare al meglio questa tecnologia, Cercheremo di rivolgerct non soloalprogeammator gi abitua adaltriambientie inguaggi;maanche i somplic utenti delle applicazioni oogle che desderino seoprie la via pilrrapida — grazie anche alla grande mote di materiale gia pronto alluso disponibile in rte ~ per rendere pi Produttive le applicazionie i servizi ttilizeati tat giorn LA PIATTAFORMA GOOGLE APPS Detinire Google ~ 0 meglio, tentare «ii delimitare con una delinizione i ragsio di azione di Google nel Web una vera impresa. Quella di Google una piattaforma vast, forse Ia pi Aampia tra quelle ogg a disposizione ‘degl utent di tutto mondo, fats di applicazionie servi di cu il motore Al ricerca solo la proverbiale punta dell echerg.E che vote pus sembrare Addirittra un po" contusa, sia per la veloetd con cul il paesaggio cambia, tea novi annine, modifiche © can cellaioni di servizi, sia per termini Simill ullizaai per definive servizi, fentite applicaziont different. Con la definizione Google Apps si indi- a una serle dl applicazion! gratuite ‘ospitate sui server Google, ¢ sicira> ‘mente gla bon notea tut letor i PC Pryesionale: Gmail, Calendar, Dive, (@ COME FARE > Software Google Un unico account. Tutto il mondo Google. Ase con tuo account Google Laplataforma Web di Google comprend numeros servi tut accessbilramite un unico ‘account: Non ®nacessii che indrizz0 ema ulizzato come account appartengaa Gal, anche se questo ren un po’ pi sempli alee operaion Le appicazion! Googe includono una sutediprogrammi per ui (Sheets, Docs Forms) la posta eletronca dl Galo storage nel cloud a rive. Mappe one, calendar, hangout, blogging la crezxione di pagine Web tuto utlzzabla vi browser. Google for Work MenOoORO Per lezaende Google propane un pacchett clamate Google Apps for Werk, che offre tra {altro la possblia a geste con Uinfrastrttura Gmail anche account di pata su dmin personal un maggie spazio dl archivazion in Drive esupperto tecnico 24/7 Docs, Sheets ¢ Forms. La plattafoema discripting di Googles pud cllegare fs queste applicazions ea tutti glial servi che fanno eapo allazionda di Mountain View: Contacts, Groups, ‘Maps, Translate, Sites cos vi. A tute queste applicszioni si pid accesere travers un unico account Google, “reato gratuitamente raggiungendo Ia pga ut:/acouns gg am. og account Gmail leeavele di posta gra tuite con estensione Ogmai.com) viene Google completo, quindi non & quasi ai necessaio creare un account spe ‘ico per sccedere alle Google App. ‘Ma non e Tunien stradas nulla vcta infat di creareun account Google (08 Geral) per accedeve alle appleaziont della piatiaforma utilizzando come rome account un altro inditiz0 email, ‘el nostro esemplo ine@nomeasienda, cm. In quest scenario, iene era. pub aeceder a tutiiservizh Google tatiae Gmail ein seguito si decide di assocane all account anche ‘unindirizze Gmail nuove dizeca (per esempio fomomezcienda@gnailcon), ‘questo diventeraindirizzo principale doll account il vecchio infownemea- lida.com eimagrs ancora valida ma sank relegato al ruolo di indrizz0 se condario, da uiizzaread esempio pet I recupero della password. Poland delle Google Apps, sgomberiamo si tilcampo da in possibile frainten= dimento:con questo teemine parame, -genericamente delle applicazioni Go- ‘le eloneate net paragrai precedent Google Apps & purtroppo simile al rome della suite distrumentl a pa gamento destinat ai cient business. Lattusle nome completo di questa su ‘Me Google Apps for Work (un tempo Google Apps for Business).e servizi ageluntivt offer con questa formula includone la possibilita di utiizzare Vinfrastruttura di gestione della posta «fi Gmail con indiriazt email del pro- prio dominio aziendale, un maggione =pavio di archiviavione in Drive © un supporto telefonico 24/7. Questa defi- ‘iglone non riguanda quind! le funaioad di scripting, che sono a completa di= sposizione di tuttglt account Google, sratullies pagamento, script delle Google Apps possona ‘essere divis in due grand categorie script stand alone, che possoao eseee ‘seguit in mode autonome, esexiptin- eit all'interna dun documento cre- ‘10 con unValta applicazione Google. COME FARE > Software IMPORTARE ED ESEGUIRE UNO SCRIPT GIA PRONTO Pease ete eeee ae Peete interme on re see ore a eer are pe oe ‘salsa crime epee per men Utes cornea ngage rpg ar rope tl dpreiresprta cal ek nec ct gu oh bela pope capes rere rae oar a eae ee et Kips pn ore Ucn ac pear ea eee rece rest ereel Lenoe hppa gency pee eave ie eee) ‘ppt tea alos pe eserpcen corto rawr creel Sena ao apt ee ind tartar Aeaifoonn dea ees ono rt ee ee Progts senza ttle ets an Hah Sets Rone Cae BOO Fe mrene 4 open nrc ¢ rats . tieatieee [Rane] Prova cl mponazone serpt Pm adheres faaps Pabicn Rose Guse BAG mecmcmnmen on eoneseeormert \nterfacca et svlunpo,raggungendandriza tps /scriot. ‘goegle com, Se 8a prima volts che stllzzano gl serpt Google t!brawser apr una pagina cibenvenuto (Fgura B) nc ‘saranecessario fare cl sul pusante Start Scripting. Altrient ‘opi direttarmente la paghs principale deltombiente dl ‘slupp (Figura) Nel fe che siapreautematcamence,Cosee ‘9, blsognsebrinae il testo presente e sosttuirlo con coice copiato dalla pagna dl parteraa (Figura). A questa punta dopo \Lsalveteggi (figura e). nome della furzione presente nella barr degli srumnticambiera, portend Krome cella Furst sppenaincellata (figura F),.codce@ pronto ad essere exegst, ‘traversal comand CreoteAnsSendOocument nei men ESegu! {rgurac).Essenola prima esecuzione deli serpt.bsogn3 rie le autarzzales necessare (Nigura Wn questo casa lo ‘script era un documento dtesto chiamato Hello Wort serive ne fraceal su tame e vis via mal un nk al documenta. Gocale App Serit Build web apps and ‘automate tasks with Google Apps Script = caaieaere ee QO) b &| cevmmemnecinen- | G Covtice gs (@ COME FARE > Software Progetto senza titolo Fle Moditea Visualizza Esegul Pubbica Risoce ——_1 g cescags ELENCO DEI FILE i iS Inquestarea strove eleco det fle che compangon pagers, tnmoticaseara un fle ca (che pr caf st chime cade gene aso lst che nplerentane ‘wlappleacone We, Thue eenco comprare ence le Td cone orp Ttrfaccin utr. In questo caeosipatta di script conta ound, perched ato leat (ita tial utiliza al'interna xn preciso ‘contenitore Gliseript container bound rappresentana forse Fapproccio pit Jmmediato al mando dello sripting, « permettono di aggiungere funaioni 1 uno specifica documento di Goo- tle Docs, Sheets o Forms: si possone per esempio implementare operazio ‘i da applicare in sere all'interno di tun foglio di calcolo,traducre in modo futomatico parole o interesezton di tun documento, calcolare distanize tra Tocaltautilzeando le funzioni a ge0- localizaione di Google Map, ottene- re informazioni sa un Ibroattraverso isbn ele Api di Google Books e coi via, Gli unc limit ono In Fantasia © la capaci di sriverecodice Alintern degh seit container bos sono inoltre disponibil particolari fanzioni che permettono di intragi re con Vapplicazione e ll documenta 4 cui fanna rferimenta: aggiuingere ‘menu, crea finestre di dialogo con cui rchiedere all utente Finserimento {4 vali, manipolatee rutiizzare le {nformazion| contenute nel documento, Uno script stand alone & invece un frammento di codice indipendente dda uno specifica documento, pene to per essere lanclato manualmente in moda nutomatico atraverso uno scheduler e svolgere funzioal di con trolloe automatizzare operazioni che fon nesessteno di intervento d par fe dellutent, im modo analogo 2 un Codice.gs function ayFunetien() £ y servizio che gta in backgtound nel sistema operative. Un'ulterore pos sibilta per gli script indipendent & esecuzione come applicarione Web: ‘non quindi in background, ma all temo del browser, con interfaccescrite J. Htmle Javaseript econ funzioni di Interazione geste dcetamente dalin- terprete di Google Apps Script. LINTERFACCIA DISVILUPPO ambiente ai sviluppo per i Google Apps Script ba sua volta un'applie- zione Google che vive, come tute le altreappicazioni Google direttamente ‘el browser esalva euoi datinel loud i Google Drive, indipendentemente al tipo ci scripts cus sta lavoran= ‘do. Come inaltte App della medesima piattaforma, dietro uninterfaccia ap parentementespartana si nascondono funzioni aseai potenti, Per create no script collegaio aun documento bso- ga partie dallinterno del documento Stesfo: per esempio da un foglio di cealcola, la caviaWleale per apprende re aletne delle dinamiche principal degli script Google, | fog di calcalo Googles possono gestreeaprire ta ‘mite almeno due viste different quella ali Google Sheets (hitpsshe!s geste fom) che per default ordina | fogl di lavoro per data di modifica, e quella li Google Drive (htipsfidrte google om), che invece I organiza alltorno BD > rofincten ‘BARRA DEGLI STRUMENTL Traiverstrumentidl mene toolbar pulsante pe Cesecione del programms quelle peril debug acupane un posto «primera importance Facendo cl uno quest due pulsnt viene avvata la funsone ncaa nel menu aces sito dete, corron pat conce Inpoche parole: qua arive la srg. |nguaggte ct programmazione€ ‘ondamentamentslovaSerit cus} 2ggungono le chamate necessare per colleges el seri Googe deta struttra a cartele ello storage onlin. Seinvece dun foglio di cacao ‘vuole partite da un dacamento di testo oppure da un modulo, ndisizz0 Ai partenza sara does.googlecom afer sgovglesom, mentee esto de Sscons0 Una volta aperto ile, per ragglunge re Finterfaccia i sviluppo basta see onate i comando Eton disrpt nel ‘menu Strament Lares principale della finest quella incu si scrive coc: Inialalmente contene la dichiarazione dala furzione di esempio mFancton? Le righe sona nuimerate, come in ttt slieditor per programmator. Sa lato Sinistro della finestra sf ova Pelenco Aci file che compongono il progetto di Sczipting; on nat dato che script sea tutto nun unico fle: quando s éreang sriptrealizzati come applica- one Web, peresempio,allinterto del progetto devono essere inseriti anche Pte Html che andranno a costituine Finterfaccia da: mostrare al interno del browser. La barra degh strument, appena sotto i men contene i (pechi) pulsanti con cui altivare le tunzioni principal Nelfordine, guardando la igor pulsanti per annllareeripri= stinae le ultime modifiche, quello per atuvare lindentazione automatics del odie, comande disalvataggo. [de Polson siccesviriguardane a moda: Tih dl utlizzo dello script Ia distrib zionesotto forma di applicazione Web e Fimpostazione dei trigger ovvere delle condizion evento timer) che causano COME FARE > Software Vesecurtone della script Suquestultino della nesta vengono visuaizzate w- LE BASIL argomentoloreremo pi. avantiDopo tele variabli del programma, le loro DEL LINGUAGGIO. Guest duc plan torane deco. desnizonte cd che conegono- Ch DFE CRIBTING ‘andi principal: avvio delsecuzione ha gi dimestichezza con alt ambient "ispettivamente in madalita di debug cli sviluppo, anche soo il sempice Vir fin modalitd normale, seguiti da un sual Basic for Applications di Microsoft Come abbiamo detto, i Google Apps tmenusatentinacontenenteelencodelle Office noteracomelefunvioni debug Script si scrivnoin javaSerpt All sy funalon! insert nello sexipt dlsponibil slanoabbastineasemplice: tussle al cost tip di questo Ings, La iferenza tale ce moda non pid per esempio madifi- gio vanno perd aggiant gi trumenti ibd esecuzione (normale ‘aveilvalorediuna variabile del Google Web Toolkit, per realizare debug) & crucial: in mo mentreesecuzione®inter~ _glilementdelnterfcca utente una (alta debug, fondamen- Tolla,eneppureiinpostare _corposnsetied unsion di liberia nes tale in sede di svluppo, ambiente perchéentt in sare per “parla” con gistrument cle quando Yesecurione del modalta debug al veri applicazioni di Gongle. In questa sete programma sinterompe ‘arsidiuna precisa condi-noncilludiamo di pote esaurne argo (acecempio per un erore) Zino ad esempio“blocca manta dello scrip delle Google Apps, Vamnblentedsvluppononst esecuzione quando ls cella mavogliamocffie una panorama sug limita a segnatare i problems, Acontieneivalore I”). aspet principal de! linguaggio esle ‘ma permette al progeammatore dl Quandos/lavorsinmodalit stand — diferenrefoodamentali neo svluppodi vetfcarelostatodet sistema eauspica- alone, ‘ambiente di sviluppo si pre-_routinechedebbane gare in autonomia, bilmente,disspirequalesnitproblema Sentai mac identico ma deveessere —afintemodi documento sot orm ‘corso Si posson impostare punti di lancato direttamente dallnterfaceiadappliczione Web. imerruzione, coe righe su eu Tesecur iGoogle Scripts (tips/seripisgogte. JavaScript éun linguaggto orienta agh ione del programma (se in modaliti com) oda Google Dive. In particolare, oggeti con una sintasirelativamente Gebug), doveafermars forzatamente: dalla pagina hipsi/drivegoosie.com/ semplice, drivata in parte da Java e basta ae cliccon mouse ul numer> — dezeny dre facendo chesulpulsanteC. Icodice Gas (Google Apps Script) ela tinea corrspondentepercreameo Nuovo inalto'a sinistra e aprendo poi €contenutoallinterno di funzion, che fliminarne uno. Quando programma i menu Alt, dovrebbe essere dispo-_vengono dichiarate con a sintass, tin powsa s pubriprenderelesecuzio- — nibilela voce Google Apps Script che he, interomperia in mode defines 9 richiamnaistantaneamente ambiente funetn roneFuntione fetuaredcsiddettodebugpasso per di sviluppo. Se la voce non compare (anganants sella funztona) { pesso,eseguendolesuccessiverighedi bisogna fare cle sul pulsante Calega a tndiceunaala volta per verfcarel us elreayplicasiom, cercare Google Apps 17 ssieaion, Ssodicontollo. Quando esecuzione in Script nella finesta che si ape e fare u past nel riquadet dela zona inferiore lic su College, ‘CONTROLLARE L'ESECUZIONE ‘Quando csi trova nada debug. el programma {in pasa (pun errore o pr aver raggunto un unto ointerruzione)Cambiente a sluppe presenta ‘lun pulsotin pi, che permettono dl prenderee Intercompere lafrzione corente, od continuorne esecusone una riga alla vata, ILCONTENUTO DELLA MEMORIA Ir modalta debug ia parte lnferiore dla fnestra viene occupata dlllanco dll varsblullzate rela fuaione. Per ogni variable vibe nome tip (che vee stabiite a runtime dlintrprete) el contenuto attuale, (@ COME FARE > Software Log (ece-t6 1528 sais ces Fog al avore senza nome [6-06-16 1836 sas GEST Fog lavreaenen nome, [n6-6-16 1536 Sena0 GEST] Pees SorzaconiniDPele_11u9102014_Vileane ‘ari Mea oh Samertha Ken Sioa [noce-16 1526 2820 oer] Feat yvak_ SoraacowinDDPele_11u9l020%4. lean fata Maina pn Samarina Kan Bipg [neces 1526231 G=oT|Peabywal SoraaConiniDPele.11ugle20%4 Vileanc ‘ansia Meina ph Sanarina Kish Spo [eae te 1s36s2890 GzST]Peatyaaic SoraaConinDPete_11u91220%4 vilegge ‘artis Mena om Samantha Kien 7loq Ineae-t6 152652199 G=sT1 Peetywak SerzaConniDPele_11u9I02014 Vileane ‘Sankta Mona pn Sanarina Kish_Sipg ‘orsia Moira ph Bonarini ‘ng 166 Te 15365236 C=oT]Peabywak SoraaCoatnDPele_11ugle20%4 vilegne [Heae-te 15362836 O=57] Pestywae SeraaConDPele_11ugla20%4_vilegpe ‘ensia Moira ph Sanerina Kian Spo In6-6-16 152652000 GEST] Peetyrak SoreaconniDPele_11u9I02014 Vileane ‘ast Meina oh Sameriha Kein 2iog [nege-18 152682130 G=sT] Fearyrak SoraacowiniPete_ 114902014. vileane [LLogger permette tracciere in modo slendoso acne infrmazini relative altesecuzione del script Se necessero un log pi essere vsualizat dll nterne deltabente dl svtuppe (come in figura). viato viemalo srt inn document slvat nell storage d Drive aftura memaria | rigger permettono dl schedularetesecisione dele fnsion. cat deript stand lone (cioe non tegat aun document o aun foto cao) un trigger permet fal rare in background, come in plecolo svi Web oxpitato sul server d Google, Come in mol ale linguaga, Veseeu ‘ione di une funzione pu (ma nen & ‘bbligatorio)resttuire come risultato tun valoe atravers il comand retin, tenon &neceseariospecifiare lipo di «questo valve. Anz piv in generate, non 3 imal necessaro specifica neppure | tipi delle varibil che vannosoltanto lichinate:e po iterpret a stabilize ‘durante eseeuzione i tipo di cascuna variable, in base al sao utiliza, Per fare un esempio semplicissimo, una funaione che elit: ls somma di due ‘uimert # pud servers cos A emer vee=at bs Per contollae Yesecustone del cod ce si postona usare tutte le principal Slrutture previsteda JavaScript, sia per Yesecuzionecondizionata fle) sa per ‘Vierazione (cle fore wile. Inoltze si possono utiizzare Ie istra- lonl try e catch per gestire gl erto- 1, prospettiva che con gl script di Google assume connotati ben pil {interessant che in altri ambient di sviluppor non bisogna dimenticare che ‘questo linguaggio ha a disposizione I immense rsorse della piataforms Google, con pochissime righe dco slice si pub inviare una email per se ‘alae unvanomalla oseivere tule le Informazioni relative allerrore in wn ocumentosalvate nel lous ai Deve La snippet seguente 8 un esempio di tuna gestione deg ertori chest avvale del supporto di Gmail servesoltanto tana riga di codice! lastraiont wut (etrustont 8) 2 eatenced ¢ eitApp. enc nioindirizzeeervers ¥ pose ee eee [nstrustont Lateral questo pozzo dicodic, per chinan canose gia estratture tye 2 questa: lo sriptesegue le Istruzioni del blocco A, Poi tenta di esegire Te istuzionidelibiocca& Setuttow bene al termine del blocco B continua co i bocca C. Se invece nel blocco B viene riscontrata una qualungue anomalia, Fesecuzione delbloeco sintertompe, vengono eseguite le righe speciiate dopa Fistrurione catch. In questo330, nel Blocco catch c' solo Misiruzione Mail pera che permette di in viareun messaggio di posta altravers0 Gmail. Questa funzione sebiede tre pparamett:Vindirizo a cui inva i mmessaggio,l oggettodella mail eil suo content In questo casoilsontenuto® Fatteinute mestage delleventoe,ovve ro In deseriione dell'eventoo errre, tun campo di informazione compilato diretamente dal istruzione catch). Per acquisine una buona padionanzs Ai Google Appe Script e quindi neces sarlo mparare a conoscere le strutture che permettona di interagine con Te applicazioni Google. Alcune di queste hanno senso solo allinterno di script container und, come le Farzini che permetiono di leggereeseivere {dati in undocomento. Gh sript egatia og Alealelo, peresempo, inilano speso on istazioni simi a queste var mysheet = Spreadsheet. ¥ gettctivesheet fentita mmenaatl © getoatcrangeC).getvaluesO$ L prim erea una variabile chiama- ta mysito ele astegna come valore i foglo di caloto corrente (0 meglio: ‘quello da cu To sept viene exegult) {Us seconda crea una nuova variable, chiamata oyDat, cle assogna inter ‘all di valor delle calle sttualmente eyes e1e) ats GLI SCRIPT COME deg altri sri ee neo termed ere ete) aes ier mere rar ae Trigger del progetto corrente Esegui | checkDuplicates seleionate nel foglio memorizzato in nye. Se argomento vi sembra an Software i 2 pari 2 pari 3 dispari 4 pari 5 dispari 5 dispari 4 pari 3 dispari 3 dispari 6 pari 3 dispari Le fring script seit net fog calcolo possoro essere richiamate come normal ferme dl appicezione. In figura teltopera uno srt semplicisimo, che prende input un numero eserive nun alla se part cpar, selezionerd la nuova voce di menu. Un ltr clementoassai importante nel ‘ema di programmazione deghiserpt bil Logger strumento che permette di serivere del messaggi di output non direttamente visibil all wtente se non aprondo Vappecita console di log. I Logger permette di tenere sotto con rola in fase di sviluppo enon soli corretto funzionamento dello sept € i tool di debug pi facile da utile zare Il comando per aggiungere una niga al log, completa di data e ora, & semplicasimo: Le furlong script contaler bound (avver legat aun document oa un fois cao) possona essere exegute anche al verfiarsl determinate cordon per estriol media del le cu fnnarferimento ola sue semplice epertre. COME FARE > Software Legoersogt tga st 12994 er vedere il log dello script covtente sipud rlchiamare la voce di men Log rel ments Vsilizen in alternative i so contenuto pud essere lett da co dice com la funzione Logger setLost)-e pot wtlizzato in qualunque mod (per fesempio srito nel corpo tna email {a inviaze all utente), Spendiame infine qualche parola sul iodo in cui le funzioni eli seiptven- jgono attivati nelle varie modalita di Sviippo, Lefnzionicrente possono innanzitutto eseguie nl! ambiente di svippo: basa aprielo script, sleni- hate lt funione asl ment tendina ella barra degli stramentie premere {i pulsante dlavvio. Esstono natural mente modi pit pratic: per esempio Dagiungere una voce di menira un do- fmento a un appleazione (come ab biamo gis visto} oppure automatizzare iT lancio di una frione tramite un teiger(parolainglese che signa gi eto) Usiiazae un tigger significa st bilre una condizione che facia satare Vesecustone dela funzione desideraa Gli script possono per esempio esse re eseguiti a intervallirogolar: per crear un trigger di questo ipo basta selezionare a voce Trigger del progetto ‘ortene nel men Rsrse delVambiente dlisviluppo, poi aggiungere una voce lFetonco ~ ineialmente vuoto — « impostare correttamente nome della funzione, Al tipo di timer (orario, siomnaliso e cos via) © intervallo di tempo tea tunesecuzione eat, Pergliscriptlegatiaun sfocumento, la medesi- ima finest offre un’ ternativa ai trigger basati sul tempo: trigger legatl agli {event del documento, Si pud aun dl eseguire una funzione all apertura el file, o nel momento in cul dace: ‘mento viene modifieato, Non bisogna dlimenticare,infne, che le furzion’ de fl script incerteallinterno de fog {i caleolo possono essere richlamate fesatfemente come le normal fanzioni Package Control Distribuire componenti ‘Jetlapplicazione, inserendo in una Cella la formula = NOMEFUNZIONEO. Una partcolare modalita di utiizzo degli script 8 infine la distibuzione sotto forma di componente aggiunti- vo per Google Sheets, Does © Forms. Uncomponente aggiuntive pub avere funaion! simill« quelle di uno sript ‘inserit nan docimento@ pen- sato pend non per essere lega- toa un singolo documento ‘bene installatoalliateeao dalVapplicazione © dspo- ribile in qualsiasi docu ‘mento. $i tata quindi di script natin modal stand alone e distebuit utilzzan do il comanda Distribuis! come Software {AL introdurte atcuni concet importa 1. Si trata di uno script stand alone uind non logato aun documento 02 Un contonitore specific, ex compone A due furzionisArchinioE mel © ‘meoulEsecusione() Iniziamo notanda la stile distinzione trai nomi delle due funatonsi ating bassa (ander score) ll ine det nome della second la identifica come furs di supports a tana fanzine principal (nel note caso ucla che archiva leemal)Lefunzioni A supporto hanno Ia earsteristica di nom poter essere eseguite diretamente ma soltanto chiamate dal interno di tulsa fanzione ve a far siche la prima funzione non upertitempl dl esecuzione massiat previstda Google. Visto che gli script [EMAIL AUTOMATICAMENTE Birano di fatto sui server Google, ® function PorsDizpart (nichumers) ( lst stabito un etto massima dl paca 1f (wiohimero B2-== 8) Questo script serve a spostarenel’ar pith di cinque minut di esecuztone return ‘ports chivio di Gmail tute Ie conversion 13 giunto quest limit, lo script viene ‘ales checontongonosole messaggi pil'vec- interrolto con un erzore di imeot Petinn Vaiepari?] chi di una setimana. Buna funzione Visto che lo seript di archiviazione , piuttostobanale che ci permette pero delle email effettua una scansione di console del programma (“ichiamata con la vace Shaw Cancale nol menu View) o script che si tova alla pagina https// pockagecontroionstolatn. Nella palate del program Flehiamabil con la comtinsslone a tastCrt+Mowee Pl trove |Leomanco per egaiungere il plug-in. € Package Control: Instat. Package (Figura), acu eve seguir [a seleione del nome: del paechetto Google Apps Script (Figura). nstallzione parte Immediatamentee, una volta campletata alterna delta console saranno present due nuov comendl Gooale ‘Aops Script Authenticate e Google Apps Script Browse Projects © [a hs: Google G, (figura). processo a autenticsaione, da lancare solo al primo utilzz del plug-in, serve afornre a Sublime Text le eredenzol i accesso al file del'utente au Google Drive. ‘sublime Text copla neg appunti un indizzo Uri che, una volta ‘2perto ne browser, porta a una pagina di auterticazione di Google. Dopo aver fornitaW consenso a cllegamento, Google restitlsce alutente un codice (Figura ) dancollare nella Console dl Sublime Text. Terminata questa procedura sl patra finalmenteutllzare ilcomando Google Apps: Browse Projects er lavorare sul propr script (@ COME FARE > Software Function Archiviaénail() { var unasettimana = 7 * 24 * 68 * 68 * 1609; var threads = cnallApp.getinboxthreads() var now = new Date); for (var j= 0; 4 < threads. length; j++) { AF (timeout Esecuzione_(now)) ( Logger log("Esecutione interatts per tiseout”)s breaks ? AF (now ~ threads[J}.getLasthessageDate() > unaSettinana) ( ‘threads|s].noveToArchive(); ? ? Function timeoutEsecuzione_(iniziotsecuzione) var cinguettinuti = 5 * 60 = 1000; var now = new Date(); return now.getTine() - intzio€secuztone.getTine() > cinquetiinuts; ? [stato sponte anche altirrizzo htp//postebin cam/ENDTBBIEe sul Dvd vitae (Gmail - Archivia€mail Fle Modiica Visualizea Esau Pubbiea Risse Guida <> BB 00 > & | povena =) 0 fm Cotcoge cutee gs ‘Acnaral 2 function sreniviseratlO { 417 Rsocuziore autonatica wna volta al gforne 7 var threads ‘rai IApp ge: TnboxThreads(); Svar aw = now bate 3) for (var J = €5 4 € thrends.lomaths $449 ¢ 124 Crimoouresseurione (rend) £ 2 Erecuzione intarrotta par tirend % Sel nome dela funtion termine con un trattino basso (underscore). emblente a Meiica come un comand tl support. che non sararichiamato drettamente dltente ma solo altintero dale frzion. suo nome non compare, fate menu delle furon tuuta Ta casella della posta, abbiamo aggiunto una reutine di controll che Interrompe Vesecuzione spontanes mente quando s raggiungono cingue ‘mint, senza provosore error Vediamo in dettaglio come sicomporta ANeodice dela funalone ArchioiaE mall. Innanritatto si dichiorano tre varibil so, unaSetimaa e threads. Alla prima viene assognato il yalore attuale di data ora, alla seconds il ‘numero dé mlisecond (anita mi surausata da Google Apps Script per i caleoli tra date) che compongono luna semana; in rend infine viene tmemorizzatoVelenco delle conversa- Zioni presenti nella inbox a Gmail TLoseript avis quind! bisogno del?au- torizzarione ad accedere, in lettura series alla easel Grail eli tent. Il successivo cleo for fa sl che vvenganoesaminate, ana peru, tate Te conversazioni nell inbox, facendo lun cantronte tra il somento del’ es ‘euzione dello serpt (la variable now) In data dell ultimo messaggio del thread. Se la differenza (espeessa in rillisecondi) supera il yalore della variable yneSetina, Fintero theead ‘iene spostato nell archivio di Gmnall Dopo la funzione GmailApp gettn- boxThrends(), utilizzata in. prece sdenza per oltenere un elenco delle fomvertazioni nella inbox, faeciamo {quindi conoscenza con due altre funzlont collegate al mondo Gal: setlestMessageDated) che restitisce la ‘fata di ultimo dun neiome di mee sage. © moveToArchivt), che archivia uno pit: messaggi ‘A ben vedere, anche la funzione di Supporto tincoutEsecuzione()s basa surunconfronta tradate: quella atte {la variabile now, definita allo stesso modo dela variable no dela prima funaione)e i parametr iioEcHsio- inv, checontiene stant cui stata Tancata la funzione principale, Anche in guesto caso il valorede! timeout (1 variable cinguedinut) expresso in millisecond 3, SCARICARE FILE INGOOGLE DRIVE Presentiamo.ora un pezzetto di codce chedev'essererchiamato da un’altra funzione: downloade ()faesattamen te cio che si pua intuize, osiarecupe- rare un file dal Web. Non lo seatica Loseript salva fle altinterno diana ‘artelladiOrve,che deve essere ‘dentfeata dun code nivcn, Ieotees pub itrovarein modo serplicepuntando browser ala ‘carteladesierata ecopiando Rt codice ala bora degli, pero sl Ps locale, madiretamentenel ‘oud storage di Google Dive. La fun one doreleedile. viene richiamata com due paramete:indirizo Url del file da searicate © 11d della cactlla «41 Drive in cul scaricarlo. ld dt una Cattlla pug essere ricavato tramite codice, oppure direttamente dal terfaccia Web di Drive: basta opie la area copie parte finale ln Sieiz2o (che si presenta nella forma httpsitrie googie com drive folders! xmuirmmetzzmy), coe quella presente dopo Fultimo sash (). [La prima aperazione compiots, Ut FetchApp fetch), & gla il download SE) © > G/B hep erve google.com ariveru/0 to COME FARE > Software Google Gucanone © dive Viele > Soied > Mace mascot > @ ==“ ee BB comanicaziens to vero e proprio. Se lo scaricamento va a buon fine (ovwero se la risposta nel protocollo Hup& Ia clasica 200 OK), Acontensto dl file viene salvato nella variabile fleBob, e poi seritto nella cartel identifiata dal parameteo fl fer atteaversa la funcione Drie. setFoier By ‘Altermine del procedimento viene cal: cola a dimensions del file, ese tutto ‘va buon fine viene nvinta una mail function downloadFile_(fileunt, folderté) ( var nomerile = "5 var dinensioniFile = 05 4 conterma allindirizzo del utente, Lindirizzo-email viene reeuperato in modo automalico, attraverso la funzlo re Sesion getActivetser) getE mal), © itmessaggio viene inviata attraverso la funsione, git vista in precedenza, Mailapp. send mai ‘Questa funzione si presta bene ad acu ne piceole modifiche, Per esempiolo si pub ingerie in uno seript legato aun Alocumenta 0-9 un fogii di calla, ¢ var response = UclFetchapp.fetch(FileURL, (mutetetpexceptions: true)); var rc = response.getResponsecode(); AF (re =» 200) ( var #ileBlob ~ response. get@lod( var folder = oriveapp.getFoldertyZa(foldertd); Sf (Folder != mull) { var file ~ folder.createrle(F4ieBlob)) oneFile = file. getNane(); imenstonSFile - File.getsize(); var enailaddress « session. getActivelser() .get™mail(); var subject = "Download conpletato” var message = “File” + nonerile + ~ sucesso)"; NotlAop.sendEmail(enatléddress, subject, message); > (© + dimenstontrsie + * bytes) scaricato con |Lstatoe sponte ance altirrizzo tp://pstabin com /vmgt TaN sul Dvd virtuale dl PC Professional (@ COME FARE > Software farein modo che Fappliczione ced iotente ai igtare Ue del fite in tuna finesta di dialogo, anziché at- tenderlo come parameteo di partenza Per implementare questa variante basta modifieae le prime righe della fnzlone introducendo aleune novith nella funcione downloade: funetion dounload ste (folders) { var ui = Spreadshee Aon. ets var risposta = 7 i.pronptC File da scaricore ‘ais Buttonget of. CAEEL etselectedButton()s ‘etResponseTextQs 17 Gatton == GEBULERY 9 0 { ggiuntivi Guida Google Maps | SA. B- Indicazioni stradali In questo caso il download parte solo seTtente preme i pulsanteOK nella finestra di dalogo. Inolteo seript di partenza invia una email solamente in cas0. download terminato eon successo, $i potrebbe ‘agglungere qualche condizione alter- nativa, per esempio trasformando il codice in questo modo: 4 1 Gre == ae (aa A (ok t= math) { eet an su Dountoad eampletate"s ‘var message ¥ = File "+ noneFile + CY dinenaioniFila + * bytes) ¥ Seorieato con successo) i asleep. ¥ dina enaithderess, subject, 12098) 7 else ( // cortetta non ‘vtrovata hai téep. ¥ ‘endEnat lanai lAccressy 7 ‘Dountead nan comstetatory inasistente") ) ) ses { // arora HIP atteon. ¥ sendemat(enatiAccress ¥ ‘Dontoad ren conpletate, ¥ *attenzione! File non trovato"); ) Cosi utente potrebbe ricevere em diverse ne te cas previ: ee down: load & completato con success, se Lo scaricamento non & stato compietato [perché non & stato trovato lle ose {file non & stato salvato perche In ‘artells di destinazione nom esiste, 4, INDICAZIONI STRADALI IN GOOGLE SHEETS Questo seript pensato pe esore nse Fito in wn foglio di caleolo, legge due Indisizi (comtenutt nelle celle At e BI del foglio corrente)e serive in un nuovo foglio le indicazioni di gids prese da Maps, complete di distance fepresse in metrl. Una versione pl raffinata di questo script, utilizabile in modo pit leeibilee con una serie 44 controll sulla valiith det dati, 2 ‘disponibile tra gi script di esempio Foritida Google sul suo sito dedicato agli sviluppaton.. {le Funzioni incluse in questo script sono tre, ma nessuna di queste deve ‘essere richiamatadiretamente dall tente. Della prima, onOpen,abbiamo 8 pala in precedenea’ viene ici mata automaticamente all apertura ‘del folio di calcolo, ha lo scope di inserite un nuovo menu all interno del spplicazione:il ment Google Maps ‘con il comando Indicasion! Strada, collegato als furzione Seriitndion. ‘ion!-). Questa funzione iniza con la lettara delle celle A1-B1 del foglio Ls fundone onopen( viene Laneits automatcomente _Aopertura del documento Tutte fe modifiche sono state si Al suointerna si efetuano qu tutte le operazon che serveno fia] ) cries tentione Lavoro, partie dalla erezione (vertu vol mena perconatzzat COME FARE > Software covrent, neu cerca dus indice che ar ‘engono copit all'inteno dele va Pabilorgiae deinone Quando si Toran criti Tavora com fot dl calcolo, la letra del contenato na pi celle passa perlefunzion gotRenge), che Went fica un gruppo di una o pit celle, € _gerValuest), che legge il valore conte var spreadsheet = Spreadsheetapp.getective(); var mentee = ((name: ‘Enfisesont stradsi", funetdontoe serivsodeaziens"}]; sprensshet. aarana( ‘Googe Wags", menuTten) Sansa ska Sener vaca , fcontengono | dati necessar, lo seript function serivitudicarion!_() richiama la seconda funzione, cuore Var spreadsheet » Spreadsheetapp.gettctive); ello script stesso etheniticasiont the sieolega a Google Maps erestita scecome output un vettore contenente leindicazionistradali dettaglite, che comprendono la distanza ia una tap var mysheet » spreadsheet. getactivesteet(); var row = aysheetactRangat‘A181"); var rowaluse = roa getvnues(); var origine = rowalues(2]();, pa eTltrae tail punto di origine «| var destinaelone = rowalves(@](3]5 {ello i destinarione, 46 (onigne || saestinanton) ( Srowserasgox|‘Eovore", “Inar422i ren trovati’, deauser- Buttons. Of) Comes pus notareilcollegamentoa eet Google Maps € rita semplice nella pratia eeichiede non pit di quattro Fighe di codices crea un oggett di tipo DirecionFinder (a cui viene indi cate di utdizzare Ia lingua italiana per , Seed ee error ener eee ee ar nonefoglio = ‘Tndicaniont a gulds's var foglioadlcaniont = spreadsheet. tnsertshet(oneFogllo, spreadsheet Te ndicazion stad st impostano gethursneets()); i puntidi partenzae artivoe nfine si var titolofoglio = uethittesforwatsteirg(“Inecazions of gua a2 26 2 x8 Impartisce il comando get Directions. oritine, estinantane) Sara Maps stesso a occupars i tutto ‘Tavoro distro le quite (individuate Te locale) sulla carina, selezionaze i var headers ~ ({titoloFoghio, "], [Tappa "0Sstanza'}}5 percorso miglloree cost via) per pol var muovegne = (15 Festituireirsultati cercat. for (var i = 8; i ¢ indicazindsroutes{@] lgs{@].steps.lenath; is») { {Una volta etenuto elenco delle ind var passo = indicaziont.rovtes(@} lees{€]-steps{ 1]; fazioni stradai st itorna al punto in cu si eta Iascats Ia prima fanzione fon resta che aggiungere un nuova foglio di caleoloe srivere al suo in tern iga dopo iga, il cantenuto del var istration = passo.ntnl sstructions.replace(/str [ody *?/9, "W") replace(/."9/9,"")5 rmuoveRige.push((istruzton, passo.tistanc. value); , vettore delle ndicazion Eun cil for fd oceuparsl della scrttura delle in fophiotndicacioni-gctRonge, 1, headers. Length, 2).setVolues (headers); ole righe, cui testo viene depurato foghiotndicarioni.getRange(headers.teneth + 1, 3, maveRige eng, 2) ~ attraverso un’espressione regolare eevstaearmiosall del tag Html che Maps genera di de- faultne! soo risultas, Le ultimerighe applicanoal foglio una formaltazione foghlotndieazionlsetColumblath(t, 586); foghtotndeaziontsetFrozemens(2); Sprexdsnetipp. us) : ¢ ¢ function otieniindicariont (origina, destnsziore) | var dreclenlader = naps elrectictinder().setanguag('1") Grazie alla sinergia ig rita ec arcrareat) tra un linguaggio ar afro = iectntoergatrctons(5 di scripting potente aaa tatenal e una serie di servizi molto ricca si possono WUstate esaponte anche altrz0 tp /pastebrcon/QUMGRNY esl Dvd realizzare automazioni Se estremamente avanzate. @ COME FARE > Software function ealva6nrsl() | var etichetta = Gratltpp.getUsertabeltyiane("éa salvarc for (var 4 = 0) 4. < thends-tengthy 462) [ var messaggi ~ threads(1).get¥essoges(); var messagzio = nessagzi (0 var subject = messaggio.getsubject( for(var § = 45 5 < messagat-tength; 3-)( body += nessaggi[j]-eet8ody()5 var messaggtontal = Detvedgp.creatersia(subjact + "nt var htalid = messagetotitel gettd() var messagetordf ~ nessaggtokt.gette( ‘spplication/pat”)s Drvenpp. createFie(maseagaionds) Drives. getFitesyi6{ntalId) .setTrashed( true letichetta.renoveFronthresd(threads()) ‘stata dspanle anche atindrzzo pastebin com/PARuHBey (e2ul Dvd vale PC Professional. [omer Ton iatoneinecraneggnataar ha pce te Pa Cems saree can neo Lo seriptLavora su tut! messogg dalla Inbox Gall con una specifica etichtta, Por aggungere ur eticheta al messaggi in arrive spud aire marualmente oppure ' possono usre fr, access dalle impostanon del servi, sina Is funzione allaegs Ja prima colonna, che contiene i testo dell in dicszioni, eblocca le prime duerighe, in cui poi srive le intestazioné util per In leur des dat, 5, SALVARE LE EMAIL ‘SU GOOGLE DRIVE COME POF Sitratta duno script stand alone che ‘segue easenzialmente tre ope efettua na scansione della posta in Srrivodi Gmailals ricerca di messaga ‘atatletizzati do un stichetta specitica {ell esempio Vetichetta& de salou), ‘ontengono almeno un messaggio contrassegnata in documents Pat ¢ infine salva nel cloud, alnterno dt una eartella dell account personale di Google Drive [primi due comand individuana le soavetsazioni che contengono mes {icon etichetta desiderata, lich. ta pd essere fio soltamente alla eezi ppud anche definirea piacimento dire thmente nel interfaces i Gmail gua messaggi archiviate © quali no. Per ssaurdo si polrcbbe anche etichetiare ‘omedasltere(equindi memorizzare Jn Drive) tutta la posta in areivo. IL stuccessivo eelo fer (anzi, la cappia di cil for nidffeni) analizano tt { messaggi in ognuna delle conver- sazioniindividuate erca dapprima una versione Hem! del testo per og thread: questo avviene attraverso i “App retell), che ae comande Dri ‘etta come parameti nome del ile, contenute da eeivere al suo interno ceil suo content-type. In questo caso rispettivamente subject + “htm (omsia oggetto delle email), ody (il conte- uo di tut imeseagei)e text/itnl TMtesto Html utilizzato in realt solo ‘come passaggiointermedtio: na volta ‘reat fills pud convert al volo in Pa com i comando mesaggia tt. {etd applistion/, por poi slvatlo tn Google Drive. Le ulfime opersziont cffttuane infine una pulizia del’'am- biente di lavoro: file Html, ormai 58 utlizzato © non pit utile, viene spostato nel cesino, e dai messaggi in Gmual viene cancollata Vetichetia, da saloon, in modo che alla successiva tescetrione dello script le discussion it elaborate non vengeno salvate di ‘nuove (questo perdaccadra comnave sine ution po memo arvall new message! etichetta). Come tt galt script, anche questo {migliorabile in vari modi Si potseb bero per esempio insarie soquenze di {struzion pera gstione degh error 0 per saivare anche gi eventual alegat presenti nel messaggi di posta indivi ‘Sat Il lingoaggio di scripting ofe Infat il comando .getAtfachmente() che individua file llega a un aes sagglo presente nel archivio di Gmail ce permet di salvarl in wn vettore, pronti per essere scrtti poi su Drive fon ilsemplice comand rete 66, ESPORTARE EVENTI DA SHEETS A CALENDAR (Questo script risponde a un’esigensa pratica dl mot! went: anche se Google {enon solo Google) offre un elena ro molto reco i fnaioni,spese0 fintace per annotare gli impegnt in altro modo, Magarin un foglio di taleolo, ripromeltendosi pot di co- piace, un gioeno com calma, tutto nel falendario, Loscript che presentiam occupa esattamente di questa opers lasclando Formal consueta mp che a {oglila voce di mens corrispondents alla Funzione principale, le script s ‘aspetta che il folio di calle contenga ‘dati organizzati seguendo una una ormattazione press. [dati da riportare na eslendario devo- no essere cine criti al interno delle prime cinguecolonne: data, titel, ora 4 inicio, ora di fine, logo in cu si svolge fevento. La sstacolonna viene tuilizzata dalle sript per memorizzare COME FARE > Software ely function esportatventi var eigneender 2) var ealeneaes cow var Foglie ~ SpreadsheetAp.getAct.vesheet var eange = foglio.getotatange var ati » rangegtvatves() var calendar » Calendartop.gtCalendasyia calendar var aga = gait var titolo = rig ‘iniio, setbrte( data. gett var thine = nw bate(oga(2 ‘Fle. stroar (data. gute var Logo = eta(s) var 1d = ete ‘ny (var evento = calendar. geteverssersesiyidtd)s ) esteh(@) () var muouebveto ~ cslenan.cr ocation-tung)) get vone(titela, nine, Hine settitle titolo setlocatio ung) function ondpn var Foglie ~ SpeadsheetAp.getActvespr Foglia. abate" [stato ponte anche alfinrizzo htp//pastebin cam/LnC 20g sul Dvd tual dl PC Professional (@ COME FARE > Software : i « Loseript proved che dat slan insert in mado preciso alinterna del foo alot Un consgto:ricrdatew el impostae il formato dele colenne che contengono date ora. Detiagt Test LINK UTILI sete incuros abbestanza sul mando del Google \ ] ‘Apps Serpe vleteapprofondre largomento? eco alcunl lnk acu porte ' huts: developers google. com/opps-ceriptoverview ftps: developers qoogle.com/opps-ceriptforticles herp: /developers. google com/opps-ceip/referonce Sona tre glen fordamentalnel sto Google dicate agl Sviuppatert La prima ofre una pansramica generale sugl se“pt, con qumeros! eserpl dl approtandiento del var argoment Laseconda forse ta pi ute) & ue serie ci esempietutoia per prendere confdenza con I Urguaggo ele sue potest. LLltimsinvece@ una gud completa also delle varie applicaionallinterno del script, con ladescralone completa tutte le uncon’ spon Prova 01 INserimenro bat oa SHeeT a caLenoar Per rrovare lun Calendar bisogna art a sua finestra dl impostacon: la strings alfrumeria che compane id trove vers fond della pagina Vid detVevento, La compilazione dit questo campo fa si che lo script non ‘Yada a reinserte nel calendario events ‘i creat (riconoscibil propo dad 818 assegnato) ma s limit acl agaior- ‘hare | dai. Ovviamente la posizione di datall interno del foo pub esse re modificata, andando ad apie sug Indic del vettorerigo, inc loseript ‘memtoriza Idati contenu nelle varie colonne di ogni riga Cialis dat willzesti dalla Funzione sono il numero di eighe da conside- rare come intestazion (nelle script di esempio il valore 2) eld del cae ‘fasion cai andre aserivere, Ld del falendatio puo essere recuperate, con tun po" di diffcots,naviganda tra le Inmpostazionl di Google Colendar (i veda, questo proposite, illestrario- ne quia fiance) Telemento aa eu vogliamo concentra repersan stant lanostraatenzione Alparticolare uso del costratto ry or evento = calendar getEventSeiesByld0); Teateh (e[ Questa operazione serve a verficare che I'd dellevento scit= to nel foglio dl calcolo — se presente “sia in effetiesistente,E se non & ‘un Id valida alors Ia fnzione deve 1 jprovvedere a creare Vevento ex nave. Tiutilizoditrye calc serve quindl ia questo casoesclusivamente ad evitare ‘hell programma vada in estore sa: pol a successiva istruione if even 4) da leggere come "se la variable vento non contiene dati valid” a deciderecome omportarsise evento fesiste oppure no, a Ce =mEtt > ftps //gtiut com/oogle/google-opps-script-somples ‘Asiesemp|uffical ascot da Google drettamente sy GitHub \Uforoso portale deicato alla memertzzazone e alla condvisione Aiprogett software + wunwiobnoergrnerne/google-scrpts/26261/ Una ist dserigt esempi, alcundequalimetocomplesse Ingraoafa omnpranderele ple poteratalta cel! ambiente ‘seluppo delle Google Aaps + wunucodecodemy.com Da ultime unlink nen esttamente legato al mondo del srpt ‘Google, me aun cesol element costitutv:Codehcademy€ Uucotia rors online perimparare 3 programmarein val Unga ta cut avaserpt. lacs corescenza dbase ¢ un requsit fondarentae per ruscr anche sola acomprendere lsat che ‘ovate in quese gine che potete recuperare online

You might also like