我将为您翻译一段关于IT技术的内容,涉及到苹果邮件(在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
运行时,我遇到了以下错误:
错误 "Mail got an error: Can’t continue isImageFileName." number -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
它运行良好。为什么邮件会抱怨呢?