Inhaltsverzeichnis :

  1. Einführung in AppleScript
  2. Programme automatisieren
  3. Der Finder – Dateien kopieren, umbenennen, Ordner überwachen
  4. Quark XPress – Dokumente automatisch aufbauen lassen
  5. FileMaker Pro – auf Datenbank-Tabellen zugreifen
  6. Cumulus – Bildkataloge automatisch aktualisieren lassen
  7. Photoshop – Bilder per Script bearbeiten
  8. Acrobat – PDFs automatisch weiterverarbeiten
  9. Distiller – PDF auf Befehl erzeugen lassen
  10. Flightcheck – Grafik- und Satzdaten automatisch prüfen lassen
  11. BBEdit – Textdateien automatisch wandeln
  12. Word – Makros per Script anstossen
  13. Excel – Diagramme und Dokumente per Script erzeugen

 

 


 

Einführung in AppleScript

Seit Einführung von MacOS 7 gibt es AppleScript. Alles begann mit dem scriptfähigen Finder. So war es erstmalig möglich, Finder-bezogene Arbeiten wie Kopieren, Verschieben und umbenennen von Dateien zu automatisieren. Damals eine Revolution. Während andere Hersteller wie Microsoft noch an ihrem ersten Windows-System (Windows 3.1) arbeiteten und versuchten, Macintosh-Basistechnologien wie die mausgesteuerte Benutzerführung zu kopieren, war Apple schon wieder einen Schritt weiter. Der Finder war komplett fernsteuerbar.

Es war klar, dass der Finder nur den Anfang einer ganz neuen Programm-Interaktivität machen sollte. Die AppleScript-Sprache ist absichtlich sehr einfach und leicht zu erlernen. Keine andere Programmiersprache hat eine solche volksnahe Befehlssyntax. So kommt man schon mit einem schlechten Englischwortschatz sehr weit.

Besonders die MacDonalds-Generation, die mit einer klar ausformulierten Ausdrucksweise auf Kriegsfuß steht, sondern die sich mit einem sehr eingeschränkten Wortschatz durchs Leben schlägt, kommt hier voll auf ihre Kosten.

 

Die Idee von AppleScript ist einfach, aber genial. Alle Mac-Programme sollen sich miteinander unterhalten können und bestimmte Aufgaben, für die sie geschrieben wurden, automatisch erledigen. Der Programmierer kann jeweils das Programm verwenden, welches die von ihm gestellten Aufgaben am besten bearbeiten kann. Es ist nicht so wie bei Office (unter Windows), dass nur innerhalb von Microsoft-Programmen Aufgaben ausgeführt werden können. AppleScript arbeitet herstellerübergreifend und programmübergreifend.

So gibt es einen Basis-Befehlssatz, mit dem man in allen Programmen bestimmte Dokumente öffnen, speichern und schließen kann.

Dann gibt es den erweiterten Befehlssatz, der die Struktur und die Möglichkeiten des einzelnen Programms wiedergibt. Alle Befehle im erweiterten Befehlssatz sind nur in diesem einen Programm gültig. So kann der Befehl zum Suchen und Ersetzen eines bestimmten Textteils in BBEdit ganz anders lauten als in Quark XPress.

Den Basis-Befehlssatz bietet wirklich jedes für den Macintosh erhältliche Programm. Dieser enthält folgende Befehle:

  • Öffnen von Dokumenten: Das Programm kann seine eigenen Dokumente öffnen. Der Pfad zum Dokument muss übergeben werden (z.B. PDF-Dateien im Acrobat Reader, Quark-Dateien in XPress usw.).

  • Drucken von Dokumenten: Offene Dokuemente können gedruckt werden. Es wird der jeweils in der Auswahl selektierte Drucker verwendet. Alternativ kann bei PostScript-Druckern auch in eine PostScript-Datei gedruckt werden (z.B. Quark XPress).

  • Speichern von Dokumenten: Das geöffnete Dokument wird unter einem anderen Namen gespeichert (Name und Pfad muss übergeben werden)

  • Schliessen von Dokumenten: Ein geöffnetes Dokument wird geschlossen.

Diese Basis-Befehle eignen sich beispielsweise prima, um Bilder, PDF-Dokumente, Word-Dateien, Readme-Texte oder QuickTime-Filme aus eigenen Anwendungen heraus aufzurufen und zu öffnen. Denken wir beispielsweise an eine Dokument-Verwaltung oder ähnliches.

jetzt werdet Ihr wahrscheinlich sagen: "Ganz nett, aber ich will doch was ganz anderes machen.". Geduld, Geduld, wir kommen schon noch zu den wirklich interessanten Teilen.

 

Die Programmierumgebung – der Scripteditor oder der Script Debugger

Jeder Mac hat AppleScript von Haus aus installiert. Um den Programm-Code einzugeben und die Programme zu starten, benötigt Ihr den Scripteditor. Dieser befindet sich im Ordner "Apple Extras", hier im Unterordner "AppleScript" auf Eurer Festplatte. Wenn Ihr ihn startet, so habt Ihr ein Fenster ohne Text drin. Hier kommt der Programm-Code rein.

Es gibt 4 Knöpfe: "Aufzeichnen", "Stop", "Ausführen" und "Syntax prüfen". In den unteren weißen Bereich könnt Ihr den Programm-Code eingeben. Im oberen weißen Bereich könnt Ihr eine Beschreibung Eures Programms eintragen, oder Bemerkungen.

Wer noch gar nie etwas mit AppleScript gemacht hat, für den ist es einmal interessant zu sehen, wie diese Sprache aussieht. Am besten, Ihr drückt jetzt den Knopf "Aufzeichnen": es werden jetzt die Aktionen aufgezeichnet. Geht in den Finder und legt einen neuen Ordner an, kopiert Dateien, leert den Mülleimer oder kopiert einen Dateinamen in die Zwischenablage.

Seid Ihr fertig, dann geht wieder zurück zum Scripteditor und drückt "Stop". Ihr seht jetzt das Script, welches ebendiese Aktionen erneut durchführen kann. So könnt Ihr bestimmte Aufgaben, ohne Euch mit Programmieren auszukennen, aufzeichnen und diese erneut durchführen lassen. Klasse, nicht ?

 

Es gibt 3 unterschiedliche Arten der AppleScript-Unterstützung von Programmen: Jedes Mac-Programm ist AppleScript-fähig. Das bedeutet, es beherrscht den Grundbefehlssatz.Wenn es einen erweiterten Befehlssatz hat, welcher es erlaubt, so gut wie jede Funktion des Programms ferngesteuert ausführen zu lassen, dann ist es per AppleScript fernsteuerbar. Dies ist bei praktisch jedem professionellen Mac-Programm der Fall.

Wenn ein Programm dann auch noch AppleScript-Recording unterstützt, dann kann der Programm-Code ganz einfach erzeugt werden, indem man auf "Aufnahme" schaltet und die Aufgaben einfach durchführt. Jeder Schritt wird dann mitgeschnitten wie bei einem Bandgerät.

Diese letzte Funktion unterstützt so gut wie kein Programm ausser dem Finder, FileMaker Pro, BBEdit und Quark XPress (nur mit einer zusätzlichen XTension).

 

Mehr unter ...

MacEntwickler.de

 

 

Autor: Christian Abele