Come posso spostare i promemoria da una lista a un'altra da parte di Applescript?

3

Ho un caso d'uso in cui voglio spostare determinati promemoria che ho creato utilizzando Siri dall'elenco predefinito a un altro. Programmaticamente, tramite uno script AppleScript, che viene eseguito su un Mac.

tell application "Reminders"
    set output to ""
    set inBoxList to "Erinnerungen"
    set newList to "Ausgaben"
    show list newList -- this works
    if (count of (reminders in list inBoxList whose completed is false)) > 0 then
        set todoList to reminders in list inBoxList whose completed is false
        repeat with itemNum from 1 to (count of (reminders in list inBoxList whose completed is false))
            set reminderObj to item itemNum of todoList
            set nameObj to name of reminderObj
            set idText to id of reminderObj
            if (nameObj contains "€" or nameObj contains " Euro ") then
                set output to output & "• " & nameObj
                set completed of reminderObj to "no"
                set container of reminderObj to list "Ausgaben" -- this doesn't
            end if
        end repeat
    end if
    return output
end tell

È la seguente riga che non funziona:

set container of reminderObj to list "Ausgaben" -- this doesn't

Ho provato variazioni come

set newList to list "Ausgaben"
set container of reminderObj to newList

ma ottengo sempre un errore che si riduce a quello che non posso impostare il contenitore perché non è l'elenco di tipi corretto.

    
posta Peter Brülls 04.06.2015 - 12:57
fonte

1 risposta

2

Non puoi modificare il contenitore , perché questa proprietà è di sola lettura - > container (list, r/o) : r / o significa solo lettura

Ma puoi utilizzare il comando sposta

tell application "Reminders"
    set output to ""
    set newList to list "Ausgaben"
    show newList
    repeat with thisReminder in (get reminders in list "Erinnerungen" whose completed is false)
        set nameObj to name of thisReminder
        if (nameObj contains "€" or nameObj contains " Euro ") then
            set output to output & "• " & nameObj
            move thisReminder to newList
        end if
    end repeat
    return output
end tell
    
risposta data 04.06.2015 - 20:39
fonte

Leggi altre domande sui tag