3 votos

¿Cómo puedo mover los recordatorios de una lista a otra mediante Applescript?

Tengo un caso de uso en el que quiero mover ciertos recordatorios que he creado con Siri de la lista por defecto a otra. Programáticamente, a través de un AppleScript script, que se ejecuta en 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

Es la siguiente línea la que no funciona:

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

He probado variaciones como

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

pero siempre obtengo un error que se resume en que no puedo establecer el contenedor porque no es f la lista de tipos correcta.

2voto

Baczek Puntos 150

No se puede cambiar el contenedor porque esta propiedad es de sólo lectura --> container (list, r/o) : r/o significa que sólo se puede leer

Pero puede utilizar el mover comando

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

0 votos

Vaya. Ahora me siento estúpido. En mi defensa, "mover" no aparece en la Suite de Recordatorios, pero debería haber conseguido r/o incluso sin una leyenda - que la biblioteca parece carecer. De todos modos, muchas gracias, ahora funciona exactamente como estaba previsto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X