Betreffzeilenänderung in Mail per Applescript klappt nicht

awado

awado

Aktives Mitglied
Thread Starter
Dabei seit
30.03.2007
Beiträge
356
Reaktionspunkte
19
Hi!

Versuche gerade ein Applescript zu basteln, welches mir diese lästigen "Re: Re: Re: Re: ..." automatisch in "Re(13): ..." umwandelt. Funktioniert alles gut, obwohl ich blutiger Anfänger bin. Nur behält Mail diese Betreffzeile nicht. Sie erscheint nur einmal und wechselt dann wieder zurück.

Weiß jemand Rat?

(Bin auch gerne bereit, dieses Script zu posten, wenn es sonst noch jemand brauchen kann.)

Gruß
 
Das mit dem posten des Skripts ist doch schon mal eine gute Idee.

Gruß Otto
 
Code:
tell application "Mail"
	set themessages to selection as list -- Markierte Mails einlesen
	repeat with msg in themessages -- und einzeln durchgehen
		set zeile to subject of msg
		
		set nummer to 0 -- Anfangswert
		set meldung to "" -- Anfangstext muß leer sein
		
		if first item of zeile is "R" and second item of zeile is "e" then -- Prüfen, ob es überhaupt eine Antwort ist...
			if third item of zeile is "(" then -- Wenn der Betreff mit "Re(" anfängt, wurde er schon mal indiziert und es muß die Nummer gelesen werden
				set AppleScript's text item delimiters to "(" -- Nummer separieren
				set resttext to second text item of zeile
				set AppleScript's text item delimiters to ")"
				set nummer to first text item of resttext as number -- Ergebnis als Zahl merken
			end if
			set AppleScript's text item delimiters to "Re:" -- Zählen, wie oft "Re: " vorkommt
			set anzahlRe to number of text items of zeile
			set nummer to nummer + anzahlRe - 1 -- Zu der evtl. schon vorhandenen Nummer dazuzählen
			if nummer is greater than 1 then
				set meldung to "Re(" & nummer & "):" & last text item of zeile -- Neuen Betreff basteln
			else
				set meldung to zeile -- Es ist das erste "Re:". Keine Klammer! Übernimm Originalbetreff.
			end if
		else
			set meldung to zeile -- Es ist gar keine Antwort gewesen. Übernimm Originalbetreff.
		end if
		set subject of msg to meldung -- Neuen Betreff setzen.
	end repeat
end tell

Es mag an der ein oder anderen Stelle noch eleganter zu lösen sein. Erst mal geht's nur um die Frage, wie dieser Betreff dauerhaft schreiben läßt.
 
Ein gepostetes Script und noch immer keine Idee?
 
Zurück
Oben Unten