START > APPLESCRIPT > Gebrauchsfertige Scripts > iCal - Termine umbenennen

iCal - Termine umbenennen

Da es in iCal zwar eine Suchfunktion gibt, diese aber keine Ersetzen-Funktion bietet, kann man mihilfe meines Scripts (iCalEventRenamer) Termine gleichen Namens auf einen Streich (auch Kalenderübergreifend) umbenennen.

 
(*     iCalEventRenamer v0.1 - hohabadu.de     *)

-- ::::::::::::::::::::::::::::::::::::::::  hohabadu.de  ::::::::::::::::::::::::::::::::::::::::

set AlterName to text returned of (display dialog "Zu suchenden Termin-Namen eingeben:" default answer "Alter Terminname")
set NeuerName to text returned of (display dialog "Zu ersetzenden Termin-Namen eingeben:" default answer "Neuer Terminname")
tell application "iCal" to set Kalenderliste to name of every calendar as list
set KalenderAuswahl to ¬
   choose from list ({">>>>> IN ALLEN KALENDERN <<<<<"} & Kalenderliste) with prompt ¬
      "Terminnamen in welchem Kalender ändern?." without multiple selections allowed
if KalenderAuswahl is {">>>>> IN ALLEN KALENDERN <<<<<"} then
   display dialog "Den Terminnamen
    \"" & AlterName & "\"
wirklich in allen Kalendern auf
    \"" & NeuerName & "\"
ändern?" with icon 2
   repeat with Kalendername in Kalenderliste
      my TerminAendern(Kalendername, AlterName, NeuerName)
   end repeat
   display alert "Termine wurden umbenannt."
else
   if KalenderAuswahl is not false then
      set Kalendername to item 1 of KalenderAuswahl
      my TerminAendern(Kalendername, AlterName, NeuerName)
      display alert "Termine wurden umbenannt."
   else
      display alert "Es wurde kein Kalender ausgewählt!"
   end if
end if

on TerminAendern(Kal, Alt, Neu)
   tell application "iCal"
      set dieTermine to every event of calendar Kal whose summary is Alt
      repeat with einTermin in dieTermine
         set summary of einTermin to Neu
      end repeat
   end tell
end TerminAendern
 Im Scripteditor öffnen
 

Vielen Dank an GNight für die Anregung.
Benutzung wie immer auf eigene Gefahr.
(Hab nach eigenen Test aber keine Fehler mehr entdecken können).


Kommentar schreiben

Stefan |  17.10.2011, 18:10:00 |  178.190.240.102 = 178-190-240-102.adsl.highway.telekom.at
DANKE für die sehr rasche Antwort. Hat jetzt problemlos funktioniert.on TerminAendern(Kal, Alt, Neu) tell application "iCal" with timeout of 3600 seconds set dieTermine to every event of calendar Kal whose summary is Alt repeat with einTermin in dieTermine set summary of einTermin to Neu end repeat end timeout end tellend TerminAendern 

H =:o) L G I |  17.10.2011, 17:35:08 |  91.35.9.4 = p5B230904.dip0.t-ipconnect.de
Hallo StefanSchau mal unter AppleScript Errors ganz unten. Da steht, wie Du den timeout umgehen kannst. Kann schon mal sein, dass AppleScript bei solch langatmigen Aktionen einen timeout schmeisst. Viel Erfolg. Gruß H =:o) L G I 

Stefan |  17.10.2011, 16:19:09 |  178.190.240.102 = 178-190-240-102.adsl.highway.telekom.at
Danke für das Bereitstellen des Scripts. Ich wollte heute eine größere Anzahl von Terminen umbenennen, wobei ich folgende Fehlermeldung erhielt: error "„iCal“ hat einen Fehler erhalten: AppleEvent lieferte eine Zeitüberschreitung." number -1712 Danach reagierte iCal nicht mehr und mußte "sofort beendet" werden. iCal belegte beim Ausführen des Scripts weit über 2,6GB RAM und belegte somit den kompletten Systemspeicher. Möglicherweise entstand dadurch die Zeitüberschreitung. Das Script an sich funktioniert gut und wurde von mir bei nicht so häufigen Terminen erfolgreich getestet. Ich verwende Mac OS 10.6.8 und iCal 4.0.4. Gibt es eine andere Möglichkeit viele Termine umzubennen bzw. das Script anzupassen? 

Balz |  30.03.2010, 14:32:08 |  balzbaur@everyware.ch  109.93.115.169 = 109-93-115-169.dynamic.isp.telekom.rs
Vielen Dank. Anmerkung: Das skript einfach so laufen lassen wie's ist!!Ich habe zuerst im Skript die Namen an den Stellen ersetzt wo "zu suchenden Terminnamen eingeben" steht. Was natürlich falsch war.Nochmals Danke 

H =:o) L G I |  15.11.2009, 22:55:19 |  89.53.80.149 = 89.53.80.149
Send mir mal ne Mail übers Kontaktformular oder geh über ICQ oder AIM, dann helfe ich dir gern weiter... Gruß H =:o) L G I 

Chayno |  14.11.2009, 18:06:34 |  85.179.147.172 = x55b393ac.dyn.telefonica.de
mist ich bekomme das nicht hin. es ersetzt nicht sondern fügt einfach hinzu... was mache ich falsch?gruss chayno 

H =:o) L G I |  24.09.2009, 19:50:56 |  89.53.30.146 = 89.53.30.146
Schau mal hier: http://www.apfeltalk.de/forum/anfrage-script-f-t242528.html#post2434000 - Das war eine ähnliche Anfrage. Musst Du Dir nur entsprechend anpassen. 

Chayno |  24.09.2009, 17:00:23 |  chayno@gmx.de  141.16.129.34 = host.filmboard.medienstadt.net
Eine Frage zu diesem tollen script.Ich bräuchte das Script ein wenig abgeändert, nämlich will ich den ersten Teil eines Termines ändern der Rest bleibt. Z.b. Geburtstage.Geburtstag von Hans Müller ---> Geb. Hans Müllerda sich der Name immer ändert funktioniert dein Script nicht, hast du nicht Lust dein Script in diesem Sinne abzuändern ,)ich fände es großartig.grusschayno 



Powered By CMSimple Design By NMuD Top