Le 28 sept. 2006 à 10:46, Philip Aker a écrit : On 2006-09-27, at 21:48:19, Yvan KOENIG wrote:
It's the first thing I tried but it failed.
set {laSource, laDestination} to {"zzz", "xyz"}
tell application "Mail" set k to count of messages of mailbox laSource if k > 0 then repeat with myMessage in (every message of mailbox laSource) set my_message to contents of myMessage if year of (get date received of my_message) = 2005 then move my_message to mailbox laDestination end repeat end if end tell
To fix this situation, place the id of the messages which meet the search criteria into a list. When the loop is done, move the message ids in the list to the desired location. Then we can talk about optimization
Philip Aker
Thanks Philip Aker
But it seems that you missed what we already did:
Objet : Rép : New to applescript: year of Date : 27 septembre 2006 19:11:52 HAEC
Le 27 sept. 2006 à 18:26, Francis Derive a écrit :
Hello
Thanks, I didn't thaught to the get every messages issue.
Here are two versions:
-- version 1 set {laSource, laDestination} to {"zzz", "xyz"}
tell application "Mail" set k to count of messages of mailbox laSource if k > 0 then repeat with myMessage in (get every message of mailbox laSource) if year of (get date received of myMessage) = 2005 then move myMessage to mailbox laDestination end repeat end if end tell
-- version 2 here, the get is not required set {laSource, laDestination} to {"zzz", "xyz"}
tell application "Mail" set myMessages to every message of mailbox laSource if (count of myMessages) > 1 then repeat with myMessage in myMessages if year of (get date received of myMessage) = 2005 then move myMessage to mailbox laDestination end repeat end if end tell
Yvan KOENIG
-+-+-+-+
The last attempts where only done to test the Emmanuel's proposal.
Yvan KOENIG
|