¿Cómo importo una lista de Reminder.app en una lista de verificación de Notes.app?

Quiero transformar mi lista de recordatorios en Reminders.app en una lista de verificación dentro de una nota en Notes.app. Intenté arrastrar la lista de la lista de listas de Recordatorios a Notas y eso no funcionó. Intenté arrastrar el contenido de la lista de Recordatorios a una nueva nota de Notas y eso importó el contenido con un [ ]antes de cada elemento. ¿Hay alguna manera de convertir las tesis en elementos de la lista de verificación nativa de Notes?

Estoy buscando una respuesta.
@ user3439894 Sí, esa solución definitivamente funcionaría para mí.

Respuestas (1)

El siguiente script de AppleScript tomará los Recordatorios seleccionados en Recordatorios y creará una nueva Nota en formato de Lista de verificación en Notas . Esto puede ejecutarse en el Editor de secuencias de comandos o guardarse como una aplicación AppleScript .

  • Nota: Como esta secuencia de comandos utiliza UI Scripting , cuando se ejecuta desde el Editor de secuencias de comandos , debe agregarse a Preferencias del sistema > Seguridad y privacidad > Accesibilidad para poder ejecutarse . Como una aplicación AppleScript , sería necesario agregar la aplicación.


tell application "Reminders" to activate
delay 0.1
tell application "System Events" to keystroke "c" using {command down}
delay 0.1
set theNotesChecklist to ""
set theReminders to get the clipboard as string
repeat with thisParagraph in paragraphs of text of theReminders
    try
        set theNotesChecklist to theNotesChecklist & text 5 thru -1 of thisParagraph & return
        delay 0.1
    end try
end repeat
tell application "Notes" to activate
tell application "System Events"
    keystroke "n" using {command down}
    keystroke "l" using {shift down, command down}
    delay 0.5
    keystroke theNotesChecklist
    delay 0.1
    key code 51 -- # Delete - Deletes the last 'return' typed.
end tell

El script anterior asume que los Recordatorios seleccionados en Recordatorios no tienen información asociada con ellos. En otras palabras, aparte de la Name propiedad , no se han establecido otras propiedades asociadas . Si se han establecido otras propiedades , agregue la if declaración al repeat ciclo como se muestra en el código a continuación:

repeat with thisParagraph in paragraphs of text of theReminders
    try
        if thisParagraph starts with "[ ]" then
            set theNotesChecklist to theNotesChecklist & text 5 thru -1 of thisParagraph & return
            delay 0.1
        end if
    end try
end repeat

Nota: Con UI Scripting , es posible que sea necesario cambiar el valor de los delay comandos en su sistema o agregar delay comandos adicionales según corresponda.

Impresionante, ¡funciona! Solo tuve que agregar algunos retrasos más para que funcione para mí. Ver la edición.
@Steve Moser, Sí, eso es comprensible y por qué siempre agrego esa nota. En mi sistema, como se escribió originalmente, funcionó como se publicó. Esa es una de las trampas de UI Scripting