[› Aktuell // »Einfache Zeiterfassung mit iCal und Applescript«
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