Как выбрать следующее сообщение за пределами выбора в Mail с помощью Applescript?

Я написал короткий Applescript для перемещения выбранных сообщений в соответствующий архив для этого почтового ящика. Однако, когда он запускается, выбора больше нет. (Если я затем нажму вверх или вниз, он выберет либо первое, либо последнее сообщение во всем почтовом ящике). Я не могу понять, как выбрать следующее сообщение за пределами текущего выбора с помощью AppleScript. Я действительно не возражаю против того, является ли «следующее» сообщением до или после, пока оно находится рядом с выбором (который вот-вот исчезнет).

Если это поможет, вот мой Applescript:

tell application "Mail"
    set selectedMessages to selection
    repeat with theMessage in selectedMessages
        set theAccount to account of mailbox of theMessage
        set read status of theMessage to true
        set mailbox of theMessage to mailbox "_old" of theAccount
    end repeat
end tell

person Singletoned    schedule 20.02.2009    source источник


Ответы (1)


Попробуйте что-то вроде этого:

tell application "Mail"
    set theSelection to selection
    set theMessage to item 1 of theSelection
    set theMailbox to theMessage's mailbox
    set theMessageID to theMessage's id
    set theMessageIDs to (id of every message of theMailbox)
    -- do work here
    set theMessages to (every message of theMailbox)
    repeat with i from 1 to (count theMessageIDs)
        if item i of theMessageIDs is theMessageID then
            set message viewer 1's selected messages to {item i of theMessages}
            exit repeat
        end if
    end repeat
end tell

Обратите внимание, что это предполагает несколько вещей: выбран только один почтовый ящик, вы не перемещаете последнее сообщение и так далее.

person Nicholas Riley    schedule 05.04.2009