AppleScript (H3)
Terug naar: AppleScript Hoofdstuk 1 AppleScript Hoofdstuk 2
Door het grote succes van de vorige hoofdstukken heb ik besloten om wat vaart achter het derde hoofdstuk te zetten. In hoofdstuk twee hebben we het over verschillende opdrachten gehad die we in AppleScript kunnen gebruiken, in dit hoofdstuk gaan we daarmee verder. Ook gaan we in dit hoofdstuk de verschillende mogelijkheden tussen AppleScript en verschillende programma’s zoals bijvoorbeeld iTunes behandelen. In hoofdstuk 3 gaan gaan we het volgende behandelen:
- Scripts opslaan als applicatie
- Mapacties
- Bibliotheek (library) raadplegen
- Een script opnemen
- Paden (Path)
- AppleScript en iTunes
- AppleScript en Mail
Scripts opslaan als applicatie
We hebben in de voorgaande hoofdstukken AppleScripts gemaakt die we in de Script Editor lieten uitvoeren d.m.v. een RUN optie:

Dit is voor ons een handige manier om de werking van een script te testen, maar geen mooie manier om de gebruikers het script te laten activeren. Daarom heeft AppleScript een optie om het script op te slaan als een applicatie. D.m.v. deze optie is het voor de gebruiker gemakkelijker om het script te activeren. Het script gedraagt zich dan ook als een programma/applicatie, de gebruiker kan in zo’n geval de icoon dubbelklikken en zo het script activeren. Ook is het mogelijk om de icoon te verplaatsen naar de Dock. Maak voor jezelf een kort script in de Script Editor:
- Ga naar File (Bestand) in het menuvenster van de Script Editor
- Klik dan op Save As (Bewaar als)
- Kies zelf een naam voor je script
- Kies de locatie waar je het AppleScript wilt bewaren
- Kies uit de File Format Application (Programma)
- Druk op Save (Bewaar)
Zo ziet de icoon er vervolgens uit:

Gefeliciteerd, je hebt net een echt computerprogramma gemaakt! ![]()
Mapacties in AppleScript
Mapacties kunnen zeer handig zijn wanneer je een script aan een folder wilt koppelen. Apple heeft een programma gemaakt die dit koppelproces voor je automatiseert. Maak voor jezelf een folder aan:
Bijvoorbeeld: “Test-Folder”
Klik vervolgens met je rechtermuis op de folder:

En klik op “Enable Folder Actions”
Nu heb je aan de folder “Test Folder” een optie aangezet die ons in staat stelt om folder acties te gaan koppelen. Nu moeten we nog een script aan deze folder selecteren. Klik alweer met je rechtermuisknop op de folder die we hebben aangemaakt:
Je krijgt nu een optie: “Attach a Folder Action”

Wanneer je voor deze actie kiest, dan krijg je een Finder Window waar je het desbetreffende script kunt selecteren die je bijv. al hebt gemaakt. Er zijn ook standaard scripts aanwezig. Klik i.p.v. de andere 2 opties de: “Configure a Folder Action” Je krijgt nu een venster waar je een voorgeinstalleerd script kunt selecteren.
FolderActies kunnen heel handig zijn, denk hierbij aan scripts die je er op attenderen als iets in een folder veranderd zoals: verplaatsing van een bestand of verandering etc. Of scripts die automatisch een bestand in een desbetreffende folder zetten. Je kunt het zo gek niet bedenken en het kan met AppleScript met combinatie van FolderActies
Bibliotheek (library) raadplegen
We weten al dat AppleScript met verschillende programma’s kan communiceren. Er zijn veel programma’s en dus veel AppleScript opdrachten voor de specifieke functies. Apple heeft al deze opdrachten gesorteerd in een Bibliotheek zodat de gebruiker makkelijk per programma alle opdrachten kan vinden. Een Bibliotheek is een kennisbron voor degene die met AppleScript wil gaan programmeren. Om de bibliotheek van AppleScript te openen doe je het volgende:
- Open de ScriptEditor
- Ga naar File en kies Open Dictionary (in Tiger was het volgens mij Window en dan Dictionary, maar dat weet ik niet meer zeker, sorry daarvoor.)
Je zult het volgende venster te zien krijgen:
(Hoe het venster eruit ziet hangt natuurlijk af of je Leopard of Tiger gebruikt)

Zoals je nu ziet, zie je bijna alle programma’s in je lijst staan. Nu is het mogelijk om per programma AppleScript opties te kiezen. Dubbelklik op een willekeurig programma uit de lijst. Je zult nu een venster te zien krijgen die uit drie kolommen en een uitleg gedeelte bestaat:

In het venster dat hierboven is afgebeeld zie je dat je alle items die de Finder ondersteunt te zien krijgt. Zo kan je gaan zoeken naar specifieke opdrachten per programma, handig toch?
Een script opnemen
Wanneer je de basis van AppleScript onder de knie hebt en toch nog meer wilt leren is het Record optie van AppleScript een uitkomst. Hoe werkt dit??
- Open de ScriptEditor
- Klik op de

- En doe nu even niets!
Wanneer je op de knop Record hebt gedrukt wacht AppleScript totdat je actie gaat ondernemen.We gaan samen een voorbeeld maken: Wanneer je op de Record knop hebt gedrukt wacht AppleScript nog steeds totdat je actie gaat ondernemen.
- Open nu de Finder
- Ga naar je Home-Map
- Maak in je Home-Map een nieuwe Folder aan met de naam: “Test-Folder”
- Sluit de Finder
- Klik op Stop in het AppleScript venster
Zoals je ziet heeft AppleScript zelf een code gegenereert dat er ongeveer zo uit ziet:
tell application "Finder"activate
select window of desktop
set target of Finder window 1 to folder "accessko" of folder "Users" of startup disk
make new folder at folder "accessko" of folder "Users" of startup disk with properties {name:"untitled folder"}
set name of folder "untitled folder" of folder "accessko" of folder "Users" of startup disk to "Test-Folder"
close Finder window 1
end tell
Zoals je ziet is dit een makkelijke manier om een script te maken. Je kunt deze script natuurlijk zelf handmatig aanpassen. Door deze techniek toe te passen krijg je meer inzicht hoe het script werkt want je hebt immers het script zelf al een keer uitgevoerd. Deze techniek is natuurlijk wel beperkt en wordt niet door alle programma’s ondersteund. Maar makkelijk blijft het wel.
Paden (Path)
Paden zijn locaties van verschillende folders en bestanden in de Directoryhierarchie. Deze paden kunnen heel belangrijk zijn wanneer je een script schrijft. Je zou bijvoorbeeld een bestand A niet willen verplaatsen naar de Prullenbak maar naar je Home-Folder.
Hoe je een Pad (Path) in een script kunt definiëren zie je hieronder:
-- bepaal de locaties en zet deze in een variable
set theDocs to "Macintosh HD:Users:Admin:Documents
set theMusic to "Macintosh HD:Users:Admin:Music
set thePic to "Macintosh HD:Users:Admin:Pictures
-- start de Finder en maak in desbetreffende Folders de mappen aan.
tell application "Finder"
make new folder at theDocs with properties {name:"Documenten-december"}
make new folder at theMusic with properties {name:"Muziek-december"}
make new folder at thePic with properties {name:"Fotos-december"}
end tell
AppleScript en iTunes
Het is mogelijk om iTunes te besturen d.m.v. AppleScript. Je kunt hele simpele scripts schrijven zoals deze:
tell application "iTunes"
play
end tell
Dit script zorgt ervoor dat de applicatie “iTunes” opstart en vervolgens start met het spelen van muziek.We zitten inmiddels in Hoofdstuk 3 dus we kunnen nu meer dan dat. Het volgende script moet voornamelijk handig zijn. We maken hieronder een Wekker-script dat werkt in combinatie met iTunes en iCal. De werking van het script zal er ongeveer zo uitzien:
- We gaan iTunes starten
- We zorgen dat het iTunes venster op de achtergrond wordt gezet
- We zorgen dat de playlist Wekker wordt geactiveerd
- We zetten het geluid op 25%
Maak eerst een playlist in iTunes met de naam “Wekker” en zet vervolgens een nummer in deze playlist die je graag wilt horen tijdens het wekken.
Het script ziet er als volgt uit:
tell application "iTunes"
play
set visible of front window to false
set view of front window to playlist "Wekker"
copy (get view of front window) to myPlaylist
set sound volume to 25 -- 0 = no volume, 100 = full volume
play myPlaylist
end tell
Sla dit script vervolgens op in je map waar je al je scripts bewaart. Nu we de Playlist en het script hebben gaan we deze op een bepaald tijdstip activeren, dit doen we door middel van iCal.
- Start iCal
- Ga naar Vandaag
- Maak een nieuwe Event (Afspraak)
- Bewerk je Event en zet de alarm-optie op Run Script

- Zoek je script op en selecteer deze
Klaar is Kees, als het goed is moet je iTunes automatisch starten en het nummer uit je playlist spelen.
Het enige probleem is dat je “wekker” niet afgaat wanneer de computer uitstaat of in de slaapmode staat.Ook hiervoor hebben we een oplossing.
Wanneer je computer in de slaap-mode staat is het mogelijk om op een ingestelde tijd hem wakker te maken. M.a.w. is het mogelijk om paar minuten voordat de wekker gaat je computer te activeren.
- Ga naar System Preferences (Systeem Voorkeuren )
- Vervolgens naar Energy Saver
- Kies Schedule…
- Kies vervolgens je tijd en datum

Veel plezier ermee, als je dit script gebruikt kun je niet meer te laat komen.
AppleScript en Mail
AppleScript kan ook heel goed met Mail overweg. Er bestaan veel scripts op het internet voor Mail maar we maken hieronder zelf eentje.
We maken hieronder een script dat gewoon een e-mail verstuurt.
--de variabelen
set theOntvanger to "info@een-email.nl"
set theOnderwerp to "Mijn eerste AppleScript voor Mail"
set theBericht to "Dit is mijn eerste AppleScript voor Mail. Deze Script gaat ervoor zorgen dat de Mail wordt geactiveerd en de inhoud van de variabelen gaat verzenden"
--activeert de Mail programma
tell application "Mail"
activate
--vertelt aan theMessage dat er een nieuwe email wordt verstuurt
set theMessage to make new outgoing message
--vult theMessage met andere variabelen
tell theMessageset the subject to theOnderwerpset the content to theBericht
make new to recipient at end of to recipients with properties {address:theOntvanger}
end tell
save theMessage
end tell
Dit script verstuurt gewoon je mail met de inhoud van de variabelen. Dit kan natuurlijk ook via het programma Mail maar het maakt je wel bewust hoe dit precies allemaal werkt. Je ziet wel eens in films dat als iemand een nieuw bericht krijgt de computer zegt: “You’ve got mail” Dit gaan we ook creëren door middel van Rule Action (Regels)We schrijven eerst een simpel script:
set theBericht to "Excuse me, You've got a new Mai"
say theBericht
We koppelen dit script aan een Rule Action. Een Rule Action is een sorteer mogelijkheid van alle inkomende mails in Mail. Zo kun je bepaalde voorwaarden aan een inkomende email koppelen zodat deze bijvoorbeeld in een door jouw geselecteerde folder wordt geplaatst.
- Start Mail applicatie
- Ga naar Preferences (Voorkeuren)
- Ga naar tab Rules (Regels) en selecteer Add Rule (Voeg een Regel)
- Kies zelf de voorwaarden en koppel het script aan de Regel (Rule)
Het Action Rule zal er ongeveer zo uitzien:

Je kunt natuurlijk ook een script schrijven met zoiets als:
set theBericht to "You've got a new Mail with attachment"
say theBericht
en aan een Action Rule koppelen die alle inkomende email sorteert op bijlagen. Wanneer er een email binnenkomt met een bijlage wordt je door het script op de hoogte gebracht. Handig he?
Ik hoop dat jullie ook dit hoofdstuk met plezier hebben gelezen!
















