Sammanfatta iCal-kalender?

Tråden skapades och har fått 7 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Stockholm
  • 2007-05-08 16:04

Vet någon om det finns en script som kan sammanfatta en iCal kalender? Jag vill veta hur många timmar jag har jobbat med ett visst uppdrag utan att behöver bläddra fram och tillbaka och räkna för hand (eller med Calculator).

  • Medlem
  • Stockholm
  • 2007-05-08 16:32

Det finns en Automator Action som alla utom jag tycks få att fungera. Kika på det, det följer med Automator!

Vänligen, Ylan

  • Medlem
  • Stockholm
  • 2007-05-08 17:24

Nja, genom att lägga till en TextEdior action can man få ut en text-fil som innehåller alla "events" men det var inte riktigt det jag var ut efter. Laddar man ner de extra actions från "Yellow Camp" kan man komma åt äldre data men man kan inte köra "Event Summary" på dessa, eftersom alla events är för gamla. Dessutom är sammanfattningen bara en lista över alla events. Jag skulle vilja har t.ex "Kalender 'Arbete'- Event name 'A' - 16 timmar och 2 events, Event name 'B' - 8 timmar och 1 event".

AppleScript är nog lösningen. Jag har gjort precis det där, och lite till för Entourage, och samma sak måste vara möjligt i iCal

Det här var en bra idé. Precis vad jag saknar i iCal. Uppdatera gärna tråden om nån fixar til det! Annars ska ja själv ta en titt på applescript vs iCal när jag hinner.

  • Medlem
  • Stockholm
  • 2007-05-12 22:48

Fungerar detta för dig?

Dottern har somnat och damen är ute, vad kan väl vara bättre än att pula litet med Applescript?

Fungerar detta?

--©Ylan 2007-05-12
--Resultatet kommer i timmar i decimalform, alltså ej timmar och minuter, men det lär väl ej vara så svårt att pilla till! Vänligen, Ylan

tell application "iCal"
	
	set theCalendarNames to get name of every calendar
	set chosenCalendar to (choose from list theCalendarNames) as string
	
	set allEvents to (every event of calendar chosenCalendar)
	set eventCount to count of allEvents
	set totalCalendarTime to 0
	
	repeat with i in allEvents
		set totalCalendarTime to totalCalendarTime + ((end date of i) - (start date of i))
	end repeat
	
	set totalCalendarHours to (totalCalendarTime / 3600)
	
	display dialog ((("Kalendern " & chosenCalendar & " har " & return & eventCount as string) & " aktiviteter, som sammanlagt tagit " & totalCalendarHours as string) & " timmar.")
end tell

Vänligen, Ylan

Senast redigerat 2007-05-12 23:01
  • Medlem
  • Stockholm
  • 2007-05-12 23:00

Tänk på att heldagsaktiviteter är 24 timmar långa!

Vänligen, Ylan

  • Medlem
  • Stockholm
  • 2007-05-12 23:55

Uppdaterad med sammanlagd tid i urklipp!

Nästan samma, men man kan ju ej kopiera från en dialogruta, så nu läggs den totala tiden i urklipp, så kan man klistra in den där man vill!

--©Ylan 2007-05-12
--Resultatet kommer i timmar i decimalform, alltså ej timmar och minuter, men det lär väl ej vara så svårt att pilla till! Totala tiden läggs även i urklipp! Vänligen, Ylan

tell application "iCal"
	
	set theCalendarNames to get name of every calendar
	set chosenCalendar to (choose from list theCalendarNames) as string
	
	set allEvents to (every event of calendar chosenCalendar)
	set eventCount to count of allEvents
	set totalCalendarTime to 0
	
	repeat with i in allEvents
		set totalCalendarTime to totalCalendarTime + ((end date of i) - (start date of i))
	end repeat
	
	set totalCalendarHours to (totalCalendarTime / 3600)
	set the clipboard to totalCalendarHours as string
	display dialog ((("Kalendern " & chosenCalendar & " har " & return & eventCount as string) & " aktiviteter, som sammanlagt tagit " & totalCalendarHours as string) & " timmar.")
end tell

Vänligen, Ylan

1
Bevaka tråden