Estoy tratando de escribir en Notes.app usando AppleScript y System Events. Tengo el siguiente script simple:
on test(notesAccount, notesFolder, notesName)
tell application "Notes"
activate
delay 1.0
tell account notesAccount
delay 1.0
make new note at folder notesFolder with properties {name:notesName}
delay 1.0
tell application "System Events"
delay 1.0
tell process "Notes"
delay 1.0
keystroke "Hello World"
end tell
end tell
end tell
end tell
end test
test("iCloud", "Notes", "Test")
Cuando ejecuto este script, la nota se crea con el nombre apropiado, pero no se inserta ningún texto. Recibo un sonido de "beep", presumiblemente, como indicación de un error. Actualmente estoy utilizando Sequoia 15.1. La accesibilidad está habilitada para el Editor de Scripts.
Me doy cuenta de que hay métodos alternativos para escribir texto en una nota. Sin embargo, por otras razones, necesito usar System Events.
Cualquier ayuda será muy apreciada.
ACTUALIZACIÓN:
No pude hacer que el método "key code" (ver respuesta a continuación) funcionara. ¡Sin embargo, pude hacer que el "Abrir nota en nueva ventana" funcionara! Aquí hay una solución que funciona basada en la respuesta de red_menace
:
on test(notesAccount, notesFolder, notesName)
tell application "Notes"
activate
delay 1.0
tell account notesAccount
delay 1.0
show (make new note at folder notesFolder with properties {name:notesName})
delay 1.0
tell application "System Events" to tell process "Notes"
click menu item "Open Note in New Window" of menu 1 of menu bar item "Window" of menu bar 1
delay 1.0
keystroke "Hello World!"
delay 1.0
tell application "Notes" to if it is running then close its front window
end tell
end tell
end tell
end test
test("iCloud", "Notes", "Test")
Hubiera preferido el método "key code" porque es visualmente más limpio, ¡pero esto funciona bien y estoy contento! ¡Gracias red_menace
!