Dies ist der erste Beitrag in einer neuen Serie, in der einige der Lieblingsbeiträge unserer Leser aus der Vergangenheit wieder aufgegriffen werden, die immer noch beeindruckende und relevante Informationen enthalten, die Sie als nützlich erachten könnten. Dieser Beitrag wurde ursprünglich am 7. Juli 2009 veröffentlicht.
Das Beste an AppleScript ist, dass Sie kein genialer Programmierer sein müssen, um es zu verwenden. In der Tat müssen Sie keinerlei Programmiererfahrung haben. In diesem Artikel erfahren Sie, wie Sie ein AppleScript für nahezu jede Anwendung schreiben, indem Sie die einfachen Anweisungen verwenden, die im Rahmen der jeweiligen App versteckt sind. Fasziniert? Weiter lesen!
AppleScript ist eine leistungsstarke Skriptsprache, die in OS X integriert ist. Die Hauptanwendung von AppleScript ist die Automatisierung von Aufgaben, die normalerweise wiederholend und zeitaufwändig sind. Als Freiberufler hasse ich zum Beispiel jede Woche die Erstellung von Rechnungen für meine verschiedenen Kunden. Um dieses Problem zu lösen, habe ich ein AppleScript geschrieben, das die Stunden liest, die ich bei iCal anmelde, eine Rechnung in Microsoft Excel erstellt, die auf diesen Stunden basiert, und die Rechnungen per E-Mail an meine Kunden sendet. Alles mit einem Klick!
Um ein AppleScript zu erstellen, öffnen Sie die Anwendung "Script Editor", die sich im Ordner "AppleScript" im Ordner "Applications" befindet. Sie sollten ein einfaches Fenster sehen, das ein großes Textfeld mit einem Streifen von Schaltflächen am oberen Rand enthält. Geben Sie in das Textfeld den folgenden Code ein:
[apfelschrift]
Anwendung "Finder" mitteilen
Anzeigedialog "Hallo Welt"
ende sagen
[/ applescript]
AppleScript versucht, wo immer möglich Englisch zu verwenden, um die Codierung extrem einfach zu gestalten. Die meisten Befehle in AppleScript befinden sich in einem "Tell-Block". Es wird als "Tell-Block" bezeichnet, weil Sie einer bestimmten Anwendung "sagen", was Sie tun sollen. Im obigen Code wird der Finder beispielsweise aufgefordert, ein Dialogfenster mit den Wörtern "Hello World" anzuzeigen. Wenn Sie mit einem Befehl oder einer Befehlsfolge für eine bestimmte Anwendung fertig sind, beenden Sie den Block mit "end tell"..
Denken Sie immer daran, Ihre Tellblöcke korrekt zu beenden, da sonst der Code nicht kompiliert wird!
Nachdem Sie den obigen Code eingegeben haben, klicken Sie auf das Hammersymbol "Kompilieren". Wenn Ihre Syntax korrekt ist, wird Ihr Code automatisch formatiert und eingefärbt. Wenn Sie einen Fehler gemacht haben, hebt der Skripteditor den problematischen Bereich hervor und informiert Sie darüber, was möglicherweise der Meinung ist, dass ein Fehler aufgetreten ist. Hier finden Sie eine kurze Referenz zu den verschiedenen Farben, die Sie in Ihrem kompilierten Code sehen (siehe Skripteditor> Voreinstellungen)..
Nachdem Ihr Code kompiliert wurde, klicken Sie auf die Schaltfläche "Ausführen". Sie sollten den folgenden Dialog sehen:
Klicken Sie nun auf die Schaltfläche "OK" und sehen Sie unten im Skript-Editor-Fenster nach. Wenn Sie ein Skript ausführen, teilt Ihnen der Skripteditor mit, was das Ergebnis war oder was "zurückgegeben" wurde. In diesem Fall erfahren Sie, dass auf die Schaltfläche "OK" geklickt wurde.
Variablen sind in jeder Programmiersprache im Wesentlichen gleich. Sie bieten eine einfache Möglichkeit, auf viele Informationen in einem kompakten Codefragment zuzugreifen und diese zu bearbeiten. Das Erstellen oder "Deklarieren" von Variablen unterscheidet sich für jede Sprache. In AppleScript deklarieren Sie Variablen wie folgt:
[apfelschrift]
setze theString auf "Hello World"
Anwendung "Finder" mitteilen
Anzeigedialog theString
ende sagen
[/ applescript]
Zu dem vorherigen Beispiel sind einige Punkte zu beachten. Beachten Sie zunächst, dass Variablen mit den Befehlen "set" und "to" deklariert werden. Damit setzen Sie Ihren Variablennamen, in diesem Fall "theString", auf etwas, in diesem Fall den Text "Hello World". In vielen Programmiersprachen ist es erforderlich, dass Sie den Variablentyp angeben, den Sie in der Deklaration verwenden möchten (Ganzzahl, Gleitkomma, Text usw.). AppleScript ist jedoch intelligent genug, um mit Ihren Variablen zu arbeiten, ohne Anweisungen über das Format zu erhalten.
Beachten Sie auch, wie ich meinen Variablennamen eingegeben habe. Sie dürfen keine Leerzeichen in einem Variablennamen enthalten. Daher ist es ratsam, Kamel-Groß- / Kleinschreibung (theString) oder die Unterstrichmethode (the_string) zu verwenden. Es spielt keine Rolle, welche Methode Sie wählen, Sie müssen lediglich sicherstellen, dass Sie im gesamten Code konsistent sind. Es ist auch eine gute Idee, allen Ihren Variablen aussagekräftige Namen zu geben. Wenn Sie sich den Code eines anderen Programmierers ansehen, kann es ärgerlich sein, Variablennamen wie "myVariable" zu sehen, die keinen Hinweis darauf geben, was sie sind oder wofür sie verwendet werden.
Beachten Sie, dass ich nun, da ich den Text "Hello World" in eine Variable eingefügt habe, diese Variable immer wieder in meinem Code aufrufen kann. Wenn ich mich später entscheide, den Text "Hello World" in "Good Morning Dave" zu ändern, muss ich nur den Text in der Zeile ändern, in der ich die Variable deklariert habe.
Sie können mit Variablen alle möglichen verrückten Dinge tun, aber da dies nur eine kurze Einführung in AppleScript sein soll, zeige ich Ihnen nur einige davon. Geben Sie den folgenden Code ein:
[apfelschrift]
--Ganzzahlige Variablen
setze die ersteNummer auf 3
setze theSecondNumber auf 2
--Variable Operationen
setze theAnswer auf (theFirstNumber + theSecondNumber)
setze die Antwort auf (theAnswer + 1)
--String-Variablen
setze den String auf "3 + 2 + 1 ="
--Dialog anzeigen
Anwendung "Finder" mitteilen
Anzeigedialog theString & theAnswer
ende sagen
[/ applescript]
Sie können Ihren Code schnell erstellen, indem Sie die Eingabetaste drücken (nicht die Eingabetaste). Diese befindet sich auf dem Zehnertastaturblock von Desktop-Computern und neben der "Befehlstaste" rechts von der Leertaste auf Laptops.
Da Ihr Skript komplexer wird, ist ein bisschen Organisation in Ordnung. Durch die Eingabe von zwei Bindestrichen "-" vor einer Textzeile können Sie einen Kommentar einfügen. Verwenden Sie Kommentare, um Ihre Codeabschnitte für eine einfache Navigation zu trennen und zu beschreiben. In diesem Beispiel habe ich eine String-Variable (nur Text) und einige Integer-Variablen erstellt. Beachten Sie, dass Sie mathematische Operationen mit Variablen durchführen können. Hier habe ich "theFirstNumber" auf drei und "theSecondNumber" auf zwei gesetzt und sie dann in "theAnswer" zusammengefügt..
Beachten Sie auch, dass Sie eine Variable ändern können, nachdem sie deklariert wurde. Unmittelbar nachdem "theAnswer" auf die Summe von "theFirstNumber" und "theSecondNumber" eingestellt wurde (was 5 ergibt), habe ich den Wert von "theAnswer" geändert, indem ich eins addierte (was 6 ergibt). Wenn Sie dieses Skript ausführen, sollten Sie folgendes Ergebnis sehen:
Dies verkratzt wiederum nur die Oberfläche der Arten von Operationen, die Sie mit Variablen ausführen können. Im Moment sollten Sie nur verstehen, dass eine Variable nicht statisch ist. Hinter jeder Programmiersprache steht die Fähigkeit, Variablen zu manipulieren, um eine Vielzahl von Aufgaben auszuführen.
Obwohl AppleScript selbst über eine breite Palette von Befehlen verfügt, die auf jedes Programm oder Element in OS X angewendet werden können, müssen die Entwickler der jeweiligen Anwendung ihren Apps volle AppleScript-Unterstützung hinzufügen. Dies bedeutet, dass Entwickler einfache Handbücher für die Kommunikation mit ihren Anwendungen über AppleScript schreiben müssen. Diese Handbücher heißen "Wörterbücher". Um ein Wörterbuch anzuzeigen, gehen Sie zu Datei> Wörterbuch im Skript-Editor öffnen. Scrollen Sie durch die Liste der Anwendungen, klicken Sie auf "Mail" und klicken Sie auf "OK". Sie sollten folgendes Fenster sehen:
Die linke Spalte enthält die verfügbaren "Suites" von Befehlen und Elementen. Wenn Sie auf eine Suite klicken, sehen Sie alles, was in der unten gezeigten Suite enthalten ist. Sie können diese Vorschau einschränken, indem Sie in die zweite und dann in die dritte Spalte klicken. Suites enthalten Befehle (C mit einem Kreis) und Klassen (C mit einem Quadrat), Klassen enthalten Eigenschaften (P) und Elemente (E). Um zu verstehen, wie all dies funktioniert, verwenden wir dieses Wörterbuch, um ein Skript zu erstellen.
Zuerst brauchen wir einen Algorithmus, was eine schicke Möglichkeit ist zu sagen, dass wir genau aufschreiben müssen, was unser Skript tun wird. Wir möchten ein Skript zum Verfassen und Senden einer E-Mail erstellen. Wir möchten Variablen verwenden, um die Änderung der Nachricht selbst sowie den Empfänger der Nachricht zu vereinfachen. Beim Erstellen unseres Algorithmus müssen wir die Funktionsweise von AppleScript berücksichtigen. Hier sind die Schritte, auf die ich gekommen bin:
Wir wissen bereits, wie Variablen erstellt werden, die Text enthalten, sodass wir das Wörterbuch nicht einmal für Schritt 1 benötigen. So sieht der Code aus:
[apfelschrift]
--Variablen
EmpfängerName auf "John Doe" setzen
Empfängeradresse auf "[email protected]" setzen
setze theSubject auf "AppleScript Automated Email"
Setzen Sie theContent auf "Diese E-Mail wurde mit AppleScript erstellt und gesendet!"
[/ applescript]
Wie Sie sehen, haben wir nur Platzhaltertext in die Variablen für den Namen und die E-Mail-Adresse des Empfängers sowie den Betreff und den Inhalt unserer Nachricht eingefügt. Sie können diese beliebig ändern. Vergewissern Sie sich, dass Sie Ihre eigene E-Mail-Adresse in der EmpfängerAddress-Variable angeben, um sicherzustellen, dass das Skript ordnungsgemäß funktioniert, wenn Sie die E-Mail erhalten.
Da wir nicht wissen, wie man Mail anweist, um eine neue Nachricht zu erstellen, müssen wir uns hier auf das AppleScript-Wörterbuch beziehen. Wenn Sie auf "Standard Suite" klicken, werden einige allgemeine Befehle angezeigt, die in AppleScript standardmäßig enthalten sind. Da wir wissen, dass wir eine neue Nachricht "erstellen" möchten, blättern wir einfach durch die Optionen und finden etwas Äquivalentes. Sie werden sehen, dass es keinen "create" -Befehl gibt, aber etwa auf halber Strecke gibt es einen "make" -Befehl. Das klingt perfekt, deshalb wissen wir jetzt, um AppleScript mitzuteilen, dass wir etwas "machen" wollen.
Klicken Sie anschließend auf die "Mail" -Suite. Wir haben bereits unser Kommando (make), scrollen Sie also an den Kommandos (Verben) vorbei, bis Sie die Klassen (Substantive) sehen. Die erste Klasse, auf die wir stoßen, ist "Outgoing Message", was großartig ist, weil wir genau das wollen! Klicken Sie nun auf die Klasse "Ausgehende Nachricht" und schauen Sie sich die verfügbaren Eigenschaften unten an.
Wir müssen unsere Variablen für den Namen des Empfängers, die E-Mail-Adresse des Empfängers, den Betreff und den Inhalt der Nachricht eingeben. In der Liste der Eigenschaften gibt es nichts über den Empfänger, aber es gibt Eigenschaften für Betreff und Inhalt. Wir kennen jetzt die richtige Syntax, um auf diese Eigenschaften zu verweisen. Beachten Sie, dass das Wörterbuch Ihnen das Format gibt, um die Eigenschaften zu definieren. Zum Beispiel geben wir für das Thema das Wort "subject" ein, gefolgt von einem Doppelpunkt, gefolgt vom Text des Subjekts.
In dieser Suite finden Sie auch einen "send" -Befehl, den Sie zum Senden der Nachricht verwenden können, indem Sie einfach "send" eingeben. Wir müssen immer noch die richtige Syntax für den Namen und die E-Mail-Adresse des Empfängers kennen. Da es sich nicht in dieser Suite befindet, klicken Sie auf die "Message" -Suite. Etwa zur Hälfte der Liste der Klassen finden wir "Empfänger". Klicken Sie auf die Empfängerklasse, und wir können erneut sehen, dass wir die Eigenschaften des Empfängers auf Englisch beziehen können. Wir geben einfach "Name" und "Adresse" ein.
Mit der Suchfunktion können Sie schnell nach Eigenschaften, Klassen, Elementen und Befehlen suchen.
Jetzt können wir unsere Nachrichtenvariable mit der gerade erlernten Syntax erstellen. So sieht der Code aus:
[apfelschrift]
--Variablen
EmpfängerName auf "John Doe" setzen
Empfängeradresse auf "[email protected]" setzen
setze theSubject auf "AppleScript Automated Email"
Setzen Sie theContent auf "Diese E-Mail wurde mit AppleScript erstellt und gesendet!"
--Mail Tell Block
Anwendung "Mail" mitteilen
--Erstellen Sie die Nachricht
Stellen Sie theMessage so ein, dass eine neue ausgehende Nachricht mit den Eigenschaften subject: theSubject, content: theContent, visible: true erstellt wird.
ende sagen
[/ applescript]
Hinweis Ich habe einen Tell-Block erstellt, um alle Befehle in die Mail-Anwendung aufzunehmen. Dann setze ich eine Variable (theMessage), um eine neue "ausgehende Nachricht" mit den oben diskutierten Eigenschaften "zu erstellen". Beachten Sie auch, dass Eigenschaftssätze immer in Klammern enthalten sind..
Nachdem wir unsere Nachrichtenvariable erstellt haben, müssen wir diese Variable aufrufen und eine neue Nachricht mit den Eigenschaften von theMessage erstellen. Wir müssen auch die Empfänger einstellen und die Nachricht senden. Dazu verwenden wir einen Tellblock für unsere Variable. Hier ist unser fertiges Skript.
[apfelschrift]
--Variablen
EmpfängerName auf "John Doe" setzen
Empfängeradresse auf "[email protected]" setzen
setze theSubject auf "AppleScript Automated Email"
Setzen Sie theContent auf "Diese E-Mail wurde mit AppleScript erstellt und gesendet!"
--Mail Tell Block
Anwendung "Mail" mitteilen
--Erstellen Sie die Nachricht
Stellen Sie theMessage so ein, dass eine neue ausgehende Nachricht mit den Eigenschaften subject: theSubject, content: theContent, visible: true erstellt wird.
--Empfänger einstellen
Sagen Sie der Nachricht
Empfänger mit Eigenschaften neu anlegen Name: Empfängername, Adresse: Empfängeradresse
--Senden Sie die Nachricht
senden
ende sagen
ende sagen
[/ applescript]
Zuerst haben wir eine neue Kopie von theMessage erstellt (die alle von uns gesetzten Eigenschaften erbt) und auf "Empfänger mit Eigenschaften" gesetzt. Dies teilt Mail mit, dass wir einen Empfänger mit den folgenden Eigenschaften hinzufügen möchten. Hier haben wir nur die zuvor erlernte Syntax und die Variablen für den Namen und die Adresse des Empfängers verwendet.
Schließlich haben wir den Befehl "send" aufgerufen, um unsere Nachricht zu senden. Beachten Sie, dass wir diesmal zwei Tellblöcke zum Schließen haben. Sobald Sie Ihren Code kompiliert und alle Fehler behoben haben, klicken Sie auf "Ausführen". Mail sollte die Nachricht automatisch erstellen und senden. Tadaah! Überprüfen Sie Ihren gesendeten Ordner, um sicherzustellen, dass alles funktioniert.
Glückwunsch, Sie haben Ihr erstes AppleScript erstellt! Sie können es als einfaches Skript speichern, das Sie wieder aufrufen und bearbeiten können, oder als Anwendung, die beim Öffnen automatisch ausgeführt wird.
Ich hoffe, dieser Anfängerleitfaden lässt Sie über alle Arten von Prozessen und Aufgaben nachdenken, die Sie automatisieren möchten. Die Syntax, die ich Ihnen zusammen mit den AppleScript-Wörterbüchern gezeigt habe, wird Sie weit bringen. Wenn Sie jedoch wirklich daran interessiert sind, AppleScript auf verschiedene Weise zu implementieren, müssen Sie noch mehr lesen. Apple bietet auf seiner Website viele Informationen zu AppleScript. Hier ist ein guter Anfang.
Eine andere Website, von der ich sehr viel bekommen habe, ist T & B. Es bietet einige wirklich ausführliche Erklärungen und Anleitungen, denen Sie folgen können (etwas veraltet, aber gründlich und kostenlos). Bitte zögern Sie nicht, einen Kommentar zu hinterlassen und lassen Sie uns wissen, ob Sie dieses Tutorial hilfreich fanden. Welche anderen AppleScript-Tipps würden Sie gerne in Zukunft sehen??