Configuración del valor de una celda de Números usando AppleScript

2

Estoy tratando de escribir un script de números (para hacer esta , como sucede), en el que necesito cambiar el valor de una celda.

Sin embargo, si hago algo como

tell application "Numbers"
    activate
    tell document 1
        tell sheet 3
            set the value of cell "E1" to 1000
        end tell
    end tell
end tell

entonces me sale el error

 error "Numbers got an error: Can’t set cell \"E1\" of sheet 3 of document 1 to 1000." number -10006 from cell "E1" of sheet 3 of document 1

pero esto no contiene información sobre por qué no puede establecer esa celda. El documento, la hoja y la celda existen todos.

Supongo que esto podría depender de mi hoja de cálculo particular, pero ¿es esta la forma correcta de establecer el valor de una celda y, de ser así, qué más puedo hacer para entender por qué no funciona?

Nathaniel
fuente
Estoy pensando lo que tienes debería trabajo, pero no estoy frente a una Mac en este momento, así que no puedo jugar con esto. Si alguien más no interviene antes de que vuelva a estar frente a una Mac, lo probaré al final. Estoy bastante seguro de que el código de error que está recibiendo se refiere a que se le denieguen los permisos de escritura al archivo. ¿Hay algo que pueda explicar por qué se le negará el permiso para establecer el valor? ¿Se están ejecutando los números? ¿Ya está abierta la hoja de cálculo? ¿Algo más?
Monomeeth
@Monomeeth gracias por investigarlo. El archivo existe y está abierto en números. Actualmente es el documento más adelantado y se guarda en una subcarpeta de mi carpeta Documentos, donde no debería haber problemas con los permisos de archivos.
Nathaniel
(Sin embargo, una cosa es que hay muchos otros documentos no guardados actualmente abiertos, que no quiero guardar ni cerrar actualmente. Según tengo entendido, el "documento 1" siempre se refiere a la ventana frontal, pero en realidad no puedo encontrarlo. indicado en cualquier documentación, y si me equivoco, supongo que podría estar intentando configurar una celda en uno de los otros documentos.)
Nathaniel
Hmm, recibo errores similares al intentar obtener el nombre de archivo del documento 1, o al obtener el valor de la celda A1 en la hoja 1. Así que supongo que el problema es el acceso al documento 1.
Nathaniel
p.ej. error "Numbers got an error: Can’t get cell \"A1\" of sheet 1 of document 1." number -1728 from cell "A1" of sheet 1 of document 1 (Voy a editar todo esto en la pregunta más adelante)
Nathaniel

Respuestas:

2

Estoy frente a una Mac otra vez, le di a tu código una oportunidad y también recibí el mismo error, por lo que probablemente sea un tanto engañoso en términos de lo que realmente significa.

Sin embargo, jugué un poco con tu script y pude hacer que el código funcionara usando el siguiente código:

tell application "Numbers"
  tell table 1 of sheet 3 of document 1
    set the value of cell 1 of column "E" to 1000
  end tell
end tell

Sin embargo, ahora que tengo esto para trabajar, solo quería marcarte que parece que estás programando la celda, etc. Es decir, si la posición cambia, entonces el script no será dinámico. Si esto es un problema para usted o no, dependerá de lo que esté tratando de hacer y de cómo esté diseñada su hoja de cálculo de Números.

Monomeeth
fuente
¡Hurra! Sí, eso funciona. Evidentemente, especificar la tabla es el paso necesario que había omitido.
Nathaniel
(Este es un truco rápido que definitivamente no necesita funcionar después de mañana, de lo contrario, estaría haciendo esto correctamente en lugar de una codificación rígida. Entonces, gracias por la respuesta rápida, ¡hará una gran diferencia y es muy apreciada!)
Nathaniel