Applescripting Numbers para guardar, cerrar y salir en una aplicación en lugar del editor de scripts

Después de usar Applescript para agregar una nueva fila con datos a un documento de Numbers, intento guardar y cerrar el documento y luego salir de Numbers. Usar el siguiente script para guardar, cerrar y salir de Numbers funciona cuando lo ejecuto en una ventana abierta del editor de scripts:

save document 1 in "/Users/name/Desktop/Workout.numbers"

close document 1 in "/Users/name/Desktop/Workout.numbers"

activate application "Numbers"
tell application "System Events" to keystroke "q" using command down
end

Pero no funciona cuando se ejecuta como una aplicación Applescript independiente; parece detenerse al guardar.

Y, como nota al margen, usar el bloque Tell a continuación para salir de Numbers actúa de la misma manera; funciona cuando se ejecuta a través del Editor de secuencias de comandos, pero no en una aplicación:

tell application "Numbers"
    quit
end tell

¿Por qué la diferencia entre ejecutar en una ventana abierta del Editor de secuencias de comandos y ejecutar como una aplicación Applescipt? ¿Cómo puedo programar Numbers para guardar, cerrar y salir en una aplicación Applescript?

Respuestas (1)

Debe dirigir el savecomando a la aplicación Numbers...

Esto debería funcionar para usted.

tell application "Numbers"
    save document 1 in POSIX file "/Users/name/Desktop/Workout.numbers"
    delay 0.1
    close document 1 
    delay 0.1
    quit
end tell

O si quieres hacer el código un poco más bonito... Esto también debería funcionar.

set saveToFolder to path to desktop folder as text
set numbersDocName to "Workout.numbers"
set numbersDoc to (saveToFolder & numbersDocName)

tell application "Numbers"
    close document 1 saving yes saving in file numbersDoc
    delay 0.1
    quit
end tell
¡Sí, esos retrasos son útiles!
Gracias, el segundo funciona bien. No me di cuenta de que Números tenía que estar al tanto del archivo para guardarlo.