Apple Get Organized

OmniFocus-Aufgabe mit AppleScript erstellen

OmniFocus-Tipps

AppleScript ist eine in macOS eingebaute Programmiersprache, die es dem Nutzer ermöglicht, Dinge in macOS zu automatisieren. Ihr merkt schon, dieser Artikel richtet sich an etwas fortgeschrittenere Benutzer. OmniFocus hat in der Professional-Version eine Unterstützung für AppleScript. Was können wir damit machen? Nun, wie der Titel schon verraten hat, z.B. Aufgaben automatisiert, d.h. in Abläufen außerhalb von OmniFocus, erstellen. Das ist natürlich ein weites Feld. Ich möchte mich daher heute wirklich auf die Erstellung von Aufgaben beschränken.

Die folgenden Beispiele könnt ihr mit dem Skript-Editor, ein Dienstprogramm von macOS, ausprobieren. Mit dem Hammer-Icon in dessen Toolbar könnt ihr prüfen, ob euer Skript syntaktisch korrekt ist. Mit dem Play-Button könnt ihr es ausführen und dann in OmniFocus schauen, was passiert ist.

Einfaches Beispiel

Fangen wir mal ganz einfach an und erzeugen eine Aufgabe in der Inbox:

tell front document of application "OmniFocus"
	set theTask to make new inbox task with properties {name:"Nykøbing-Ausflug vorbereiten", note:"Packliste in OmniOutliner beachten"}
end tell
Skript-Editor von macOS mit unserem Aufgaben-Skript

Nach Betätigung des Play-Buttons sieht die Inbox in OmniFocus dann tatsächlich so aus:

Screenshot der OmniFocus-Inbox nach Ausführung des AppleScripts

Erweiterungen

Das „set theTask to“ benötigen wir nur, wenn wir noch etwas mit der Aufgabe machen möchten, z.B. sie zu einem Projekt zu schieben oder Tags zuzuweisen.

So schieben wir die Aufgabe in ein bestehendes Projekt:

set theProject to flattened project named "[Erholung/Freizeit]"
move theTask to end of tasks of theProject

Diese beiden Zeilen müssen natürlich wieder innerhalb eines tell-Blocks stehen. Selbstverständlich können wir auch ein neues Projekt anlegen:

set theProject to make new project with properties {name:"Ausflüge"}

Hier eine erweiterte Version des Skripts mit Tag- und Projektzuweisung:

tell front document of application "OmniFocus"
	set theTag to flattened tag named "Fokus"
	set theTask to make new inbox task with properties {name:"Nykøbing-Ausflug vorbereiten", note:"Packliste in OmniOutliner beachten", primary tag:theTag}
	set theProject to flattened project named "[Erholung/Freizeit]"
	move theTask to end of tasks of theProject
end tell

Dieses AppleScript für sich allein macht natürlich noch nicht wirklich Sinn. Aber als Teil eines längeren Programms können so Aufgaben oder ganze Projekte automatisch erzeugt werden. Auch das von mir vor langer Zeit vorgestellte „Hazel“ kann ja AppleScript-Arbeitsschritte beinhalten. Wer auf dem Mac Abläufe Automatisieren möchte, findet in AppleScript ein mächtiges Werkzeug hierfür.

Gefällt Dir dieser Artikel oder hast Du sogar Nutzen daraus gezogen? Dann unterstütze bitte mein Blog, indem Du ihn in sozialen Medien teilst oder auf deiner Homepage verlinkst. Danke!

In Kontakt bleiben, nichts mehr verpassen und Bonus-Tipps bekommen? Jetzt meinen monatlichen Newsletter abonnieren!

Über den Autor

Markus Jasinski

Markus Jasinski ist ein Rostocker Unternehmer, Naturwissenschaftler, IT-Spezialist, Autor, Dänemark-Fan, überzeugter Radfahrer und nicht zuletzt „Computer Geek“ und Smart-Home-Enthusiast. Sein erstes iPhone kaufte der promovierte Naturwissenschaftler im Jahre 2008, kurze Zeit später wurde er dann auch zum Mac-Nutzer. Nach und nach gesellten sich iPad, Apple TV und Apple Watch hinzu.

Um diese vielfältigen Interessen und Aktivitäten "unter einen Hut" zu bekommen befasst sich der gebürtige Westfale seit über zehn Jahren mit den Themen Selbstorganisation und Aufgabenmanagement, die ebenfalls ein Schwerpunkt dieses Blogs sind.

Kommentar schreiben

Alle Kommentare werden moderiert und nur freigeschaltet, wenn sie diesen Regeln entsprechen. Bitte nutzt E-Mail für allgemeine und sonstige Anfragen.

All comments are reviewed and manually unlocked. Comments that do not refer to the article, are not written in German or contain advertising will be deleted. Please use e-mail for general inquiries.