Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>Applescript u iCal

Applescript u iCal

Tic22.03.1108:37
Servus!

Da ich leider kein Plugin/Addon gefunden habe um eine Abfrage nach einem geeigneten Kalender einzuführen, habe ich nun über selbstentwicklung eines Applescripts nachgedacht.

Nun zuerst der Workflow.
Eine .ics Datei wird angeklickt, normalerweise wird nun iCal gestartet und das Event importiert. Nun will ich genau bei diesem Ereignis eingreifen und eine Auswahlliste für die Auswahl des Kalenders zum importieren dieser .ics angeben/anbieten.

Nun bin ich ganz neu beim Applescript(en) und daher habe ich nicht einmal die Vorstellung, ob ich in diesen Prozess überhaupt eingreifen kann, nur muss es ja irgendwie funktionieren, da BusyCal es ebenfalls schafft

Nun zu meinen Fragen:
Funktioniert sowas mit Applescript?
Wo kann ich Applescripts ablegen die auf so ein Event horchen? Mein verdacht... ausführen mit?
Wie kann ich per Applescript iCal sagen, dass das ics in Kalender X eingetragen werden soll? Bzw bin ich auf eine Suche nach sämtlichen Befehlen für iCal und Applescript.

Ich hoffe ich erschlage euch nicht mit meinem Post
0

Kommentare

Tic22.03.1108:43
Achja, fast das Wichtigste vergessen. Ich suche auch noch ein gutes Buch zu Applescript (sollte das klappen)
0
_mäuschen
_mäuschen22.03.1110:34

Schau mal hier http://macscripter.net/

und hier

0
Tic23.03.1100:46
_mäuschen Danke!

Ich bin derzeit fleißig am Lesen, jedoch sind mir noch 2 Sachen unklar

1) Wie ich wirklich das "Event" vom Doppelklick auf eine ics Datei abfangen kann.
2) Wie ich auf die Importfunktion von iCal zugreife. ich habe es zwar so wie im Link probier (über die Importfunktion in der Menüleiste, jedoch wird die bei mir scheinbar nicht gefunden!?
0
_mäuschen
_mäuschen23.03.1102:17

Zu 2.)

In Systemeinstellungen - Bedienungshilfen den Zugriff auf Hilfsgeräte aktivieren.
Ist nur nötig wenn System Events den Kalender automatisch auswählen soll, so wie im Link beschrieben.


Zu 1.)

Mit Automator

eine Ordneraktion erstellen.

AppleScript ausführen wählen

und den Script
tell application "iCal"
activate
open (input)
end tell
einfügen.


Dann die neue .ics in den angegebenen (Neue_ics) Ordner fallen lassen.

0
Tic23.03.1107:21
_mäuschen
Erstens vielen Dank, dass du dich der Sache so annimmst

zu 2)
Genau, das habe ich gemacht aber es kommt folgendes
„System Events“ hat einen Fehler erhalten: „window "Importieren" of process "iCal"“ kann nicht gelesen werden.

bei folgenden Code
tell application "System Events"
        tell process "iCal"
            tell window "Importieren"
                click pop up button 1
                click menu item "myCalendar" of menu 1 of pop up button 1
                click button "OK"
            end tell
        end tell
    end tell

und beim der Schleife hängt er und wartet ewig.
tell application "System Events"
       tell application process "iCal"
           set frontmost to true
           tell window add_events
               repeat until (it exists)
                   delay 0.2
               end repeat
               click pop up button 1
               repeat until (menu 1 of pop up button 1 exists)
                   delay 0.2
               end repeat

zu 1)
Achso, so geht das ... Allerdingts reagiert es leider nicht auf den Doppelklick. Deswegen dachte ich auch bisher, dass ich bei dem Kapitel "Ordneraktionen" nichts finden werde. oder gibt es vll doch einen weg?
0
_mäuschen
_mäuschen23.03.1111:47

Versuche es



on run {input, parameters}

set add_events to "Ereignisse hinzufügen" -- The title of the "Add Events" dialog on your system.
set cal_name to "Privat" -- The name of the target calendar.

tell application "iCal"
activate
ignoring application responses
open input
end ignoring
end tell

tell application "System Events"
tell application process "iCal"
tell window add_events
click pop up button 1
click menu item cal_name of menu 1 of pop up button 1
click button "OK"
end tell
end tell
end tell

return input
end run

0
_mäuschen
_mäuschen23.03.1111:53

FYI

Doppelklick auf eine Datei um einen AppleScript zu triggern:

Über 'Öffnen mit:' den script (als Programm gespeichert) wählen

on open some_items
repeat with this_item in some_items
--your script here with this_item as input
end repeat
end open


0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.