property PrintDateTimeName : ""
property Cyclethroughmessages : {}
my SubRoutine1()
on SubRoutine1()
set tempstore to {}
set Cyclethroughmessages to {}
tell application "Mail"
activate
try
set tempstore to messages of mailbox "* items to shift" as list
end try
end tell
repeat with Cyclethroughmessages in reverse of tempstore
my resetMail()
tell application "Mail"
activate
set PrintDateTimeName to my dateTimeStamp()
set selected mailboxes of message viewers to mailbox "* items to shift"
set the selected messages of message viewers to Cyclethroughmessages
open Cyclethroughmessages
name of window 1
my SubRoutine2(result)
end tell
end repeat
end SubRoutine1
on SubRoutine2(tempWindowName)
tell application "Mail" to activate
tell application "System Events" to tell process "Mail"
try
tell window 1
keystroke "s" using {command down, shift down}
delay 1
try
keystroke "d" using {command down}
end try
delay 1
keystroke (PrintDateTimeName & "Z") as text
delay 1
try
if value of checkbox 1 of group 1 of sheet 1 = 0 then click checkbox 1 of group 1 of sheet 1
end try
tell group 1 of sheet 1
tell pop up button 1
click
repeat
try
name of menu item 1 of menu 1
exit repeat
on error
delay 0.1
end try
end repeat
click menu item 1 of menu 1
end tell
end tell
end tell
click button 1 of sheet 1 of window 1
keystroke return
end try
end tell --tell system events
tell application "Mail"
try
close window 1 --tempWindowName
end try
end tell
end SubRoutine2
--=====
on dateTimeStamp()
return (do shell script "date -u +%Y-%m-%d" & character id 160 & "%H%M%S")
end dateTimeStamp
on resetMail()
--return --<-- Doesn't work either
tell application "System Events"
repeat while exists process "Mail"
try
tell application "Mail" to quit
end try
end repeat
end tell
tell application "Dock"
activate
end tell
tell application "System Events"
tell process "Dock"
set frontmost to true
activate
tell list 1
click UI element "Mail"
end tell
end tell
repeat while not (exists process "Mail")
try
tell application "Mail" to activate
end try
end repeat
end resetMail