Hey All,
So I’m working on a script that will save an excel attachment, open it, parse the data, and then email that data back out. Ive gotten pretty much all of it except one little part. I need a way to save the attachment to a specific folder and then open that saved attachment with excel. Does anyone have a best practice or a good way to accomplish this? My first thought was but date maybe? Ill post what I have.
Thanks!
using terms from application "Mail"
on perform mail action with messages theMessages for rule ssMailGrabs
-- The folder to save the attachments in (must already exist)
-- Save in a sub-folder based on the name of the rule in Mail
set subFolder to name of ssMailGrabs
tell application "Finder"
set attachmentsFolder to ((path to home folder as text) & "Documents:Attachments") as text
if not (exists folder subFolder of folder attachmentsFolder) then
make new folder at attachmentsFolder with properties {name:subFolder}
end if
end tell
tell application "Mail"
repeat with eachMessage in theMessages
set {year:y, month:m, day:d, hours:h, minutes:min} to eachMessage's date sent
set timeStamp to ("" & y & "-" & my pad(m as integer) & "-" & my pad(d) & "-" & my pad(h) & "-" & my pad(min))
try
-- Save the attachment
repeat with theAttachment in eachMessage's mail attachments
set originalName to name of theAttachment
set savePath to attachmentsFolder & ":" & subFolder & ":" & timeStamp & " " & originalName
try
save theAttachment in file (savePath)
end try
end repeat
display dialog "A New Excel Spreadsheet has been copied"
end try
end repeat
end tell
end perform mail action with messages
end using terms from
-- Adds leading zeros to date components
on pad(n)
return text -2 thru -1 of ("00" & n)
end pad