[› Aktuell // »Einfache Zeiterfassung mit iCal und Applescript«

iCal.jpg

iCal mit mehreren Kalendern (auswählbar rechts oben)

 

set Output to ""
set Month_headline to ""
tell application "iCal"
    try
        tell calendar "Zeiterfassungskalender"
            set EventListe to every event
            repeat with einEvent in EventListe
                set Date_start to start date of einEvent
                set Date_end to end date of einEvent
                set Time_start to time of Date_start
                set Time_end to time of Date_end
                set Duration to ((Date_end – Date_start) div hours)
                set Event_day to day of Date_start
                set Event_month to month of Date_start
               
                copy Date_start to dateTemp
                set month of dateTemp to January
                set Event_month_num to text 2 thru 3 of ((100 + (Date_start's month as integer)) as string)
               
                set Event_year to year of Date_start
                set E_Month_headline to "

// " & Event_month & " " & Event_year & "
"
                if (E_Month_headline ≠ Month_headline) then
                    set Month_headline to E_Month_headline
                    –set Output to Output & E_Month_headline
                end if
                set Beschreibung to summary of einEvent
                set Output to Output & Event_day & ";" & Event_month_num & ";" & (Duration) & ";" & Beschreibung & "
"
            end repeat
        end tell
    end try
end tell
set theFilePath to (path to desktop as string) & "ical.csv" as string
set theFileReference to open for access theFilePath with write permission
write Output to theFileReference
close access theFileReference

 

Zeiterfassung soll unaufwändig sein, da sie leider Arbeit macht – muss aber sein, weil man ohne Stundenzettel manchmal auch kein Geld sieht.
Da ich iCal als Kalender benutze, trage ich meine Arbeitszeiten dort unter einem gesonderten Kalender ein und habe mir nun ein Applescript geschrieben, um die Stunden dieses Kalenders zu sammeln. Es erzeugt eine CSV-Datei auf dem Schreibtisch, die dann in einem beliebigen Tabellenkalkulationsprogramm geöffnet und ausgewertet werden kann.

Da ich beispielsweise für einen Auftraggeber mehrere Projekte bearbeite, kann man mit entsprechender einheitlicher Syntax auch zusätzlich die Stunden je Projekt erfassen. So kombiniert man die persönliche Stundenerfassung mit der Projektauswertung.

Die Synchronisierung von iCal mit Mobiltelefonen, PDAs oder anderen Geräten ist mittlerweile ja Standard, weshalb der einfache und direkte Zugriff jederzeit möglich sein sollte.

Im Appleskript (Download) unbedingt den Namen des Kalenders eintragen, der ausgewertet werden soll.

 

24. September 2008