Applescript för att radera vissa ord ur ärenderaden i Mail - tex ordet SPAM

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1

Hejsan

Jag knackade nyss ihop detta script som är till för att lösa följande problem - säg att du får en massa mail som märks i ärenderaden med ordet "SPAM", men som faktiskt inte är det. Det är inte så lätt att få bort det ordet ur ärenderaden, om man nu inte kan Applescript.

Du behöver med scriptet bara markera några mail - och sedan välja scriptet i Script-menyn i Mail för att köra det och vips görs en sök/ersätt på ordet i scriptet som skall hittas och det ersätts med det ordet i scriptet det skall ersättas med (tex tom sträng, vilket gör att ordet försvinner.

Här kommer scriptet, i nästa meddelande kommer lite instruktioner för att få det att synas i script-menyn i Mail.

Börja med att kopiera scriptet, starta Manusredigeraren, klistra in scriptet och spara det som kompilerat manus.

(*
Applescript för att ta bort ord från ärenderaden i Mail.app
----------------------------------------------------------------
Av: Ola@intelligentmammals.se, 2006-07-11
http://www.intelligentmammals.se/
*)

on run
	-- Först, plocka fram en lista på markerade meddelanden i Mail.
	-- Här saknas felkontroll om det inte finns några markerade medd.
	tell application "Mail"
		set selected_messages_list to selection
	end tell
	
	-- Loopa igenom de markerade meddelandena och gör detta med varje.
	repeat with message_Item in selected_messages_list
		
		-- Hämta meddelandet ärenderad och lagra i variabel
		tell application "Mail"
			set this_text to subject of message_Item
		end tell
		
		-- Gör sök/ersätt med hjälp av subrutin
		-- Första ordet i citattecken är sökordet.
		-- Andra ordet i citattecken är ersättningsordet, ange "" för
		-- att sökordet skall raderas.
		set this_text to replace_chars(this_text, "SPAM: ", "")
		
		-- Sätt den nya ärenderaden på meddelandet
		tell application "Mail"
			set subject of message_Item to this_text
		end tell
		
	end repeat
end run

on replace_chars(this_text, search_string, replacement_string)
	set AppleScript's text item delimiters to the search_string
	set the item_list to every text item of this_text
	set AppleScript's text item delimiters to the replacement_string
	set this_text to the item_list as string
	set AppleScript's text item delimiters to ""
	return this_text
end replace_chars

Här är de åtgärder du måste göra för att få en script-meny i programmet Mail och sedan lägga in detta script i det.

För att få en manusmeny i Apples Mail
I mappen Program > Applescript finns "AppleScript-verktyg.app"

Starta den och kryssa för: "Visa manusmenyn i menyraden" och "Visa biblioteksmanus".

För att få manuset du just skapade in i manusmenyn i Apples Mail
Öppna denna mapp:

Hårddisken > Bibliotek > Scripts > Mail Scripts

Drag och släpp scriptet du skapade genom att kopiera här ovan och klistra in i ett nytt dokument i Manusredigeraren, till mappen Mail Scripts.

För köra manuset
Markera några mail - välj sedan manuset i scripts-menyn.

  • Medlem
  • Mölndal
  • 2006-07-12 00:01

Bra initiativ! Men jag tror att du skulle nå en betydligt större publik i något annat lämpligt forum än just "Utveckling" (som rätt få läser).

Ursprungligen av memark:

Bra initiativ! Men jag tror att du skulle nå en betydligt större publik i något annat lämpligt forum än just "Utveckling" (som rätt få läser).

Tack för berömmet.

Du har rätt i att det kanske kunde ha postats i forumet Apple programvara > Applescript (som jag letade efter igår men inte hittade) där jag postat mina övriga Applescript (städa skrivbordet, skicka mail till viss person med Entourage mfl).

Jag ber en admin att flytta på denna tråd.

Inte en admin, men väl en seniormoderator hörsammade din begäran och flyttade tråden till önskat forum.

Tack för detta ohennig.

Kan tilägga att för Mac.se-kunder så skall denna rad:

set this_text to replace_chars(this_text, "SPAM: ", "")

...ändras till:

set this_text to replace_chars(this_text, "*SPAM* ", "")

Enjoy!

1
Bevaka tråden