当我只想要群组中的一个时,如何阻止AppleScript选择Mail.app对话中的所有邮件?

时间:2013-03-21 15:43:13

标签: applescript reminders

这是我的痒:我想将电子邮件添加到Reminders.app作为待办事项。我认为那部分了。我的下一个目标是能够选择多个电子邮件并让Reminders.app为所选的每封电子邮件创建待办事项。我认为那部分了。

问题:当我选择作为对话一部分的电子邮件时所有来自该对话的消息将作为单独的提醒/待办事项添加。这部分可能令人困惑,但我会尽量详细描述我如何选择消息。在Mail.app中,我在最右侧窗格中选择一条消息,其中部分会话的所有电子邮件都以可滚动列表的形式呈现。这是我正在选择特定消息的区域。因此,即使我从对话中选择了一条消息,该对话中的所有消息都会添加到我的AppleScript列表变量中,然后转换为提醒/待办事项。

如果我在Mail.app中关闭“通过对话组织”问题就会消失。我喜欢通过对话组织我的电子邮件的清洁,所以如果有一个脚本解决方案来解决这个问题,我宁愿选择这条路线。但是,我想不出任何解决方法,所以我希望有人在这里有一些想法。

这是我的剧本:

property defaultList : "Parking Lot"

on newReminder(theBody, theTitle)
    tell application "Reminders"
        tell list defaultList
            make new reminder with properties {body:theBody, name:theTitle}
        end tell
    end tell
end newReminder


tell application "Mail"
    set selectedMessages to {}
    set selectedMessages to selection
    if (count of selectedMessages) is 0 then
        return "Please select a message in Mail.app and try again."
    else
        repeat with i from 1 to (count of selectedMessages)
            tell item i of selectedMessages
                set messageid to message id
                set urlText to "message://" & "%3c" & messageid & "%3e"
                set theSender to extract name from sender
                set theSubject to subject
                my newReminder((theSender & " " & urlText), theSubject)
            end tell
        end repeat
    end if
end tell

1 个答案:

答案 0 :(得分:0)

Mail应用程序的AppleScript属性selection似乎忽略了对话中的单个消息是否在预览窗格(OS X Lion的布局中最右侧的窗格)中突出显示。 selection仅由消息列表(中间窗格)中选择的消息确定。如果您想在AppleScript中使用selection作为对话的单条消息,则必须从消息列表中选择单条消息,

而不是预览窗格。