Frage

Ich schrieb ein einfaches Applescript, die auf unbestimmte Zeit innerhalb Entourage Inbox Loops und bekommt Themen „ungelesen“ Meldungen:

tell application "Microsoft Entourage"
activate

repeat with eachMsg in messages of folder named "Inbox"
    if read status of eachMsg is untouched then
        set messageSubject to subject of eachMsg as string

        -- bla bla bla

        -- How to delete the message and proceed with the next one???
    end if

end repeat

Nun, das Problem ist, mag ich Nachrichten löschen, nachdem das Thema zu bekommen. Wie kann ich das machen? Könnten Sie mir bitte ein Beispiel schreiben?

Danke nochmal!

War es hilfreich?

Lösung

Wenn Sie eine Nachricht löschen, haben Sie die Länge der Nachrichtenliste geändert, so irgendwann, Sie über einen Index kommen werden, dass nicht mehr existiert, weil Sie genug Nachrichten gelöscht haben. Um dies zu umgehen, müssen Sie (im Wesentlichen) hart Code der Schleife; erhält die Anzahl der Nachrichten, und von der letzten Nachricht beginnen und von dort nach oben bewegen. Auch wenn Sie eine Nachricht gelöscht haben, werden immer die Indizes über dem aktuellen intakt sein. Ungeprüfte aber ist ein Muster, das ich an anderer Stelle verwendet habe ...

tell application "Microsoft Entourage"
activate
set lastMessage to count messages of folder named "Inbox"
repeat with eachMsg from lastMessage to 1 by -1
    set theMsg to message eachMsg of folder named "Inbox"
    if read status of theMsg is untouched then
        set messageSubject to subject of theMsg as string

        -- bla bla bla

        -- How to delete the message and proceed with the next one???
    end if

end repeat

Applescript „Convenience“ Syntax ist manchmal nicht, und deshalb habe ich es in der Regel ganz vermeiden.

Andere Tipps

Hier ist ein snippit von einem Beispiel auf Microsofts Entourage Hilfe-Seite (speziell die „Nuke Nachrichten“ Skript):

repeat with theMsg in theMsgs
    delete theMsg -- puts in Deleted Items folder
    delete theMsg -- deletes completely
end repeat 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top