4 votos

AppleScript y los números: ¿Cómo añado una fila?

Esto tiene que ser sencillo: Quiero usar AppleScript para añadir una nueva fila en la parte superior de una hoja de Numbers llamada WorkoutSheet en una tabla llamada WorkoutDB en un documento de Numbers llamado Workout.numbers. (Usando Numbers 5.01 en MacOS Sierra).

Este AppleScript arroja el error "No se puede obtener la hoja "WorkoutSheet" .

tell application "Numbers"
    activate
    open "/Users/username/Desktop/Workout.numbers"
    delay 2 --- added, but doesn't help
    tell table "WorkoutDB" of sheet "WorkoutSheet"
        add row above first row
    end tell
end tell

Edición: esto funciona; la clave fue el uso de `documento 1' en el bloque tell:

tell table "WorkoutDB" of sheet "WorkoutSheet" of document 1

Y el delay 2 no supone ninguna diferencia; Applescript espera a que se inicie Numbers y se abra el documento.


También he añadido el tell bloque

tell column "A"
set value of cell 1 to short date string of (current date)
end tell

para añadir la fecha actual a la primera columna de la nueva fila.

tell application "Numbers"
    activate
    open "/Users/markr/Desktop/Workout.numbers"
    tell table "WorkoutDB" of sheet "WorkoutSheet" of document 1
        add row above first row
        tell column "A"
            set value of cell 1 to short date string of (current date)
        end tell
    end tell
end tell

2 votos

Es posible que necesite una pausa para asegurarse de que el archivo se ha cargado

0 votos

Gracias, pero no funciona; el mismo error.

1 votos

Intenta cambiar tell table "WorkoutDB" of sheet "WorkoutSheet" a tell table "WorkoutDB" of sheet "WorkoutSheet" of document 1 para ver si eso hace alguna diferencia.

4voto

user3439894 Puntos 5883

En lugar de:

tell table "WorkoutDB" of sheet "WorkoutSheet"  

Utilizar:

tell table "WorkoutDB" of sheet "WorkoutSheet" of document 1

De este modo, Numbers sabe con qué documento debe comunicarse.

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