Acesta este primul post dintr-o serie nouă care revizuiește unele dintre postările preferate ale cititorilor noștri din trecut, care conțin în continuare informații minunate și relevante pe care le-ați putea găsi utile. Acest post a fost publicat inițial pe 7 iulie 2009.
Cea mai bună parte despre AppleScript este că nu trebuie să fii un programator de geniu care să o folosească. De fapt, nu trebuie să ai nicio experiență de programare. Acest articol vă va arăta cum să scrieți un AppleScript pentru aproape orice aplicație folosind instrucțiunile simple care sunt ascunse în cadrul fiecărei aplicații. Intrigat? Citește mai departe!
AppleScript este un limbaj puternic de scripting care este integrat în OS X. Utilizarea principală pentru AppleScript este automatizarea sarcinilor care sunt în mod obișnuit repetitive și consumatoare de timp. De exemplu, în calitate de freelancer, îmi place să fac facturi în fiecare săptămână pentru diferiții clienți. Pentru a rezolva această problemă, am scris un AppleScript care citește orele în care mă loghez în iCal, creează o factură în Microsoft Excel bazată pe acele ore și trimite prin e-mail facturile clienților mei. Totul prin apăsarea unui buton!
Pentru a crea un AppleScript, deschideți aplicația "Editorul Script" din directorul AppleScript din dosarul Applications. Ar trebui să vedeți o fereastră simplă care conține un câmp de text mare cu o bandă de butoane de-a lungul vârfului. În câmpul de text introduceți următorul cod:
[AppleScript]
spuneți aplicației "Finder"
ecranul de dialog "Hello World"
sfarsitul spune
[/ AppleScript]
AppleScript încearcă să utilizeze limbajul simplu, ori de câte ori este posibil, pentru a face codarea extrem de simplă. Cele mai multe comenzi din AppleScript sunt situate în interiorul unui "bloc" tell ". Se numește "spune bloc", deoarece "spui" unei aplicații date ce vrei să faci. De exemplu, codul de mai sus îi spune Finderului să afișeze o fereastră de dialog conținând cuvintele "Hello World". După ce ați terminat cu o comandă sau un șir de comenzi pentru o aplicație dată, terminați blocul cu "end tell".
Amintiți-vă întotdeauna să terminați blocurile dvs. de avertizare corect sau codul nu se va compila!
După ce ați terminat de introdus codul de mai sus, faceți clic pe pictograma "Compilare" cu ciocan. Dacă sintaxa dvs. este corectă, codul dvs. va fi formatat și colorat automat. Dacă ați făcut o eroare, Editorul Script va evidenția zona problematică și vă va da un mesaj despre ceea ce crede că ar fi greșit. Iată o referință rapidă la diferitele culori pe care le veți vedea în codul dvs. compilat (găsit în Editorul de scripturi> Preferințe).
După ce codul dvs. a fost compilat, faceți clic pe butonul "Executare". Ar trebui să vedeți următorul dialog:
Faceți clic pe butonul "OK" și vedeți partea de jos a ferestrei editorului Script. Când executați un script, Editorul Script vă spune ce rezultat a fost sau ce a fost "returnat". În acest caz, vă spun că ați apăsat butonul "OK".
Variabilele sunt în esență aceleași în fiecare limbaj de programare. Ele oferă o modalitate ușoară de a accesa și de a manipula o mulțime de informații într-un fragment compact de cod. Crearea sau "declararea" variabilelor este diferită pentru fiecare limbă. În AppleScript declarați variabile după cum urmează:
[AppleScript]
setați TheString la "Hello World"
spuneți aplicației "Finder"
afișați dialogul theString
sfarsitul spune
[/ AppleScript]
Există mai multe lucruri de remarcat cu privire la exemplul anterior. Mai întâi, observați că variabilele sunt declarate utilizând comenzile "set" și "to". Procedând astfel, vă setați numele variabilei, în acest caz "theString", pentru a egala ceva, în acest caz textul "Hello World". Multe limbi de programare necesită să precizați tipul de variabilă dorit în declarație (număr întreg, punct de plată, text, etc.). AppleScript, cu toate acestea, este suficient de inteligent pentru a lucra cu variabilele dvs. fără nici o instrucțiune despre format.
De asemenea, observați cum am introdus numele variabilei mele. Nu puteți avea spații într-un nume de variabilă, deci este o practică bună să utilizați cazul cămilă (theString) sau metoda de subliniere (the_string). Nu contează cu adevărat ce metodă alegeți, ci doar asigurați-vă că sunteți coerent în întregul cod. Este, de asemenea, o idee bună să dați tuturor variabilelor nume semnificative. Când căutați codul unui alt programator, poate fi enervant să vedeți nume de variabile precum "myVariable" care nu dau nici o indicație cu privire la ceea ce sunt sau la ce vor fi folosite.
În cele din urmă, observați că acum că am plasat textul "Hello World" în interiorul unei variabile, pot numi această variabilă din nou și din nou prin codul meu. Apoi, dacă mai târziu decid să schimb textul "Hello World" în "Good Morning Dave", trebuie doar să schimb textul de pe linia unde am declarat variabila.
Puteți face tot felul de lucruri nebunești cu variabile, dar deoarece aceasta este doar o scurtă introducere în AppleScript, vă voi arăta doar câteva. Introduceți codul următor:
[AppleScript]
--Variabile întregi
setațiFirstNumber la 3
setați numărul secundar la 2
--Operații variabile
setați răspunsul la (primul număr + numărul secundar)
setați răspunsul la (răspunsul +1)
--Variabile de șir
setați șirul la "3 + 2 + 1 ="
--Afișare dialog
spuneți aplicației "Finder"
afișați dialogulString & theAnswer
sfarsitul spune
[/ AppleScript]
Puteți compila codul rapid apăsând tasta "enter" (nu tasta de returnare). Acesta este situat pe cel de-al 10-lea număr numeric de pe calculatoarele desktop și lângă tasta "Command" din partea dreaptă a barei de spațiu de pe laptop-uri.
Pe măsură ce scriptul dvs. devine mai complex, o organizare este în ordine. Introducând două liniuțe "-" înaintea unei linii de text, puteți introduce un comentariu. Utilizați comentariile pentru a separa și descrie secțiunile de cod pentru o navigare ușoară. În acest exemplu am creat o variabilă de șir (numai text) și câteva variabile întregi. Observați că puteți efectua operații matematice pe variabile. Aici am setat "TheFirstNumber" la egal cu trei și "TheSecondNumber" pentru a egala două și apoi le-a adăugat împreună în "theAnswer".
De asemenea, observați că puteți modifica o variabilă după ce este declarată. Imediat după ce am setat "theAnswer" la suma "theFirstNumber" și "theSecondNumber" (rezultând în 5), am schimbat valoarea "theAnswer" prin adăugarea unei valori la ea (rezultând în 6). Dacă executați acest script ar trebui să vedeți următorul rezultat:
Din nou, acest lucru doar zgârie suprafața tipurilor de operațiuni pe care le puteți efectua pe variabile. Pentru moment, trebuie doar să înțelegeți că o variabilă nu este statică. O mare parte din puterea din spatele oricărui limbaj de programare este abilitatea de a manipula variabilele pentru a efectua o mare varietate de sarcini.
Deși AppleScript în sine are o gamă largă de comenzi care pot fi aplicate oricărui program sau element din OS X, dezvoltatorii fiecărei aplicații sunt însărcinați cu adăugarea completă a suportului AppleScript în aplicațiile lor. Ce înseamnă acest lucru este faptul că dezvoltatorii trebuie să scrie manuale simple pentru a comunica cu aplicațiile lor prin intermediul AppleScript. Aceste manuale se numesc "dicționare". Pentru a vedea un dicționar, accesați File> Open Dictionary in Script Editor. Derulați în jos lista de aplicații, faceți clic pe Mail și apăsați "OK". Ar trebui să vedeți următoarea fereastră:
Coloana din partea stângă conține "suitele" disponibile de comenzi și articole. Când faceți clic pe o suită, veți vedea tot conținutul din suita afișată mai jos. Puteți restrânge această previzualizare făcând clic pe a doua coloană, apoi din nou pe a treia. Suitele conțin comenzi (C cu un cerc) și clase (C cu un pătrat), clasele conțin proprietăți (P) și elemente (E). Pentru a înțelege cum funcționează toate acestea, să folosim acest dicționar pentru a crea un script.
În primul rând avem nevoie de un algoritm, care este un mod fantezist de a spune că trebuie să notăm exact ceea ce va face scenariul nostru. Vrem să creăm un script pentru a compune și a trimite un e-mail. Vom dori să folosim variabilele pentru a ușura modificarea mesajului însuși, precum și a mesajului la care este trimis mesajul. Pe măsură ce scriem algoritmul nostru, trebuie să ținem cont de modul în care funcționează AppleScript. Iată pașii cu care am venit:
Știm deja cum să creăm variabilele care dețin textul, astfel încât nici măcar nu avem nevoie de dicționar pentru pasul unu. Iată cum arată codul:
[AppleScript]
--variabile
setați recipientul la "John Doe"
setați recipientulAdresa la "[email protected]"
setați subiectul la "E-mail automatizat AppleScript"
setațiContent la "Acest e-mail a fost creat și trimis folosind AppleScript!"
[/ AppleScript]
După cum puteți vedea, tocmai am plasat textul cu substituentul în variabilele pentru numele și adresa de e-mail a destinatarului, precum și subiectul și conținutul mesajului nostru. Puteți să le schimbați la orice doriți. Asigurați-vă că ați pus propria adresă de e-mail în variabila recipientAddress pentru a vă asigura că scriptul funcționează corect când primiți e-mailul.
Deoarece nu avem nicio idee despre cum să-i spunem Mailului să creeze un mesaj nou, aici trebuie să ne referim la dicționarul AppleScript. Dacă faceți clic pe "Standard Suite", veți vedea câteva comenzi comune care apar standard în AppleScript. Știind că dorim să "creăm" un mesaj nou, noi doar defilează opțiunile și găsim ceva echivalent. Veți vedea că nu există nici o comandă "create", dar aproximativ jumătate în jos există o comandă "face". Sună perfect, așa că acum știm să-i spunem AppleScript că vrem să "facem" ceva.
Apoi faceți clic pe suita "Mail". Am primit deja comanda noastră (make) astfel încât să defilați în jos prin comenzi (verbe) până când vedeți clasele (substantive). Prima clasă pe care o întâlnim este "mesajul de ieșire", ceea ce este minunat, pentru că exact așa ne dorim! Acum faceți clic pe clasa "mesajul de ieșire" și examinați proprietățile disponibile de mai jos.
Trebuie să conectăm variabilele noastre pentru numele destinatarului, adresa de e-mail a destinatarului, subiectul și conținutul mesajului. În lista de proprietăți nu există nimic despre destinatar, dar există proprietăți pentru subiect și conținut. Acum știm sintaxa potrivită pentru a se referi la aceste proprietăți. Observați că dicționarul vă oferă formatul pentru a defini proprietățile. De exemplu, pentru subiect, vom tasta cuvântul "subiect" urmat de un colon urmat de textul subiectului.
De asemenea, în această suită veți găsi o comandă "trimite", pe care o putem folosi pentru a trimite mesajul pur și simplu tastând "trimite". Mai trebuie să știm sintaxa potrivită pentru numele destinatarului și adresa de e-mail. Deoarece nu este în această suită, faceți clic pe suita "Mesaj". Aproximativ la jumătatea listei de clase găsim "destinatar". Faceți clic pe clasa destinatar și vedem că încă o dată, putem folosi engleza simplă pentru a se referi la proprietățile destinatarului. Vom introduce pur și simplu "nume" și "adresa".
Puteți utiliza funcția de căutare pentru a vâna rapid proprietățile, clasele, elementele și comenzile.
Acum suntem gata să creăm variabila mesajului folosind sintaxa pe care tocmai am învățat-o. Iată cum arată codul:
[AppleScript]
--variabile
setați recipientul la "John Doe"
setați recipientulAdresa la "[email protected]"
setați subiectul la "E-mail automatizat AppleScript"
setațiContent la "Acest e-mail a fost creat și trimis folosind AppleScript!"
--E-mailul spune Block
spuneți aplicația "Mail"
--Creați mesajul
setațiMessage pentru a crea un nou mesaj de ieșire cu proprietăți subject: theSubject, content: theContent, visible: true
sfarsitul spune
[/ AppleScript]
Observați că am creat un bloc tell pentru a închide toate comenzile aplicației Mail. Apoi am setat o variabilă (theMessage) pentru a "face" un nou "mesaj de ieșire" cu proprietățile discutate mai sus. De asemenea, observați că seturile de proprietăți sunt întotdeauna conținute în paranteze .
Acum, că am creat variabila mesajului nostru, trebuie să apelăm acea variabilă și să creăm un mesaj nou cu proprietățile mesajului. De asemenea, trebuie să setăm destinatarii și să trimitem mesajul. Pentru a face acest lucru, vom folosi un bloc tell pe variabila noastră. Iată scriptul nostru terminat.
[AppleScript]
--variabile
setați recipientul la "John Doe"
setați recipientulAdresa la "[email protected]"
setați subiectul la "E-mail automatizat AppleScript"
setațiContent la "Acest e-mail a fost creat și trimis folosind AppleScript!"
--E-mailul spune Block
spuneți aplicația "Mail"
--Creați mesajul
setațiMessage pentru a crea un nou mesaj de ieșire cu proprietăți subject: theSubject, content: theContent, visible: true
--Setați un destinatar
spuneți mesajul
a face noi pentru destinatar cu proprietăți name: recipientName, address: recipientAddress
--Trimiteți mesajul
trimite
sfarsitul spune
sfarsitul spune
[/ AppleScript]
În primul rând, am creat o nouă copie a mesajului (care moștenește toate proprietățile pe care le-am pus în acesta) și l-am setat "la destinatar cu proprietăți". Acest lucru spune Mail că dorim să adăugăm un destinatar cu următoarele proprietăți. Aici am folosit doar sintaxa pe care am învățat-o înainte și variabilele pentru numele și adresa destinatarului.
În cele din urmă, am invocat comanda "trimite" pentru a ne trimite mesajul. Observați că avem două blocuri de avertizare pentru a închide acest moment. Odată ce v-ați compilat codul și ați rezolvat erorile, apăsați pe "Run". Mailul ar trebui să creeze și să trimită automat mesajul. Tadaah! Verificați dosarul trimis pentru a vă asigura că totul a funcționat.
Felicitări, ați creat primul dvs. AppleScript! Puteți să-l salvați ca un script simplu pe care îl puteți reveni și edita sau ca o aplicație care rulează automat când o deschideți.
Sper că ghidul începătorului vă gândește la toate tipurile de procese și sarcini pe care doriți să le automatizați. Sintaxa pe care ți-am arătat-o împreună cu dicționarele AppleScript vă va face un drum lung. Cu toate acestea, dacă sunteți într-adevăr interesat în implementarea AppleScript într-un număr de moduri utile, aveți mai multă lectură de făcut. Apple oferă o mulțime de informații despre AppleScript pe site-ul lor. Iată un loc bun pentru a începe.
Un alt site pe care l-am luat foarte mult este T & B. Acesta oferă câteva explicații și tutoriale în profunzime, pentru a vă urma (puțin datată, dar temeinică și gratuită). Vă rugăm să fiți bineveniți să lăsați un comentariu și să ne spuneți dacă ați găsit acest tutorial util! Ce alte sfaturi AppleScript doriți să vedeți acoperite în viitor?