【发布时间】:2010-05-04 16:24:35
【问题描述】:
我正在尝试编写一个 AppleScript 以与 Mail(在 Snow Leopard 上)一起使用,以将邮件的图像附件保存到文件夹中。 AppleScript 的主要部分是:
property ImageExtensionList : {"jpg", "jpeg"}
property PicturesFolder : path to pictures folder as text
property SaveFolderName : "Fetched"
property SaveFolder : PicturesFolder & SaveFolderName
tell application "Mail"
set theMessages to the selection
repeat with theMessage in theMessages
repeat with theAttachment in every mail attachment of theMessage
set attachmentFileName to theAttachment's name
if isImageFileName(attachmentFileName) then
set attachmentPathName to SaveFolder & attachmentFileName
save theAttachment in getNonexistantFile(attachmentPathName)
end if
end repeat
end repeat
end tell
on isImageFileName(theFileName)
set dot to offset of "." in theFileName
if dot > 0 then
set theExtension to text (dot + 1) thru -1 of theFileName
return theExtension is in ImageExtensionList
end if
return false
end isImageFileName
运行时出现错误:
错误“邮件出错:无法继续 isImageFileName。”编号-1708
错误 -1708 在哪里:
事件未被 Apple 事件处理程序处理。
但是,如果我将isImageFileName() 复制/粘贴到另一个脚本中,例如:
property ImageExtensionList : {"jpg", "jpeg"}
on isImageFileName(theFileName)
set dot to offset of "." in theFileName
if dot > 0 then
set theExtension to text (dot + 1) thru -1 of theFileName
return theExtension is in ImageExtensionList
end if
return false
end isImageFileName
if isImageFileName("foo.jpg") then
return true
else
return false
end if
它工作正常。为什么 Mail 会抱怨这个?
【问题讨论】:
标签: email applescript