2 votos

¿Cómo interactuar con una hoja de números a través de AppleScript?

Esta pregunta está relacionada con:

donde yo estoy tratando de encontrar una manera de hacer lo que quiero usando AppleScript.

He estado buscando en la Web para encontrar una manera de establecer la hoja activa en los Números antes de que yo intento hacer una modificación allí. Los pasos preliminares son esencialmente:

tell application "Numbers"
    activate
    try
        set the chosenDocumentFile to "/path/to/myfile.numbers"
        open the chosenDocumentFile
    on error errorMessage number errorNumber
        if errorNumber is not -128 then
            display alert errorNumber message errorMessage
        end if
    end try
    tell chosenDocumentFile
        try
            -- this is where I'm stuck
        end try
    end tell
end tell

La mayoría de las cosas que he encontrado en internet, habla acerca de la creación o eliminación de hojas, pero no he encontrado nada que proporciona un claro ejemplo de cómo seleccionar una hoja.

En mi caso actualmente tengo 5 hojas en mi hoja de cálculo. Sé que quiero para seleccionar la segunda hoja para actuar en (sheet 2 - a la derecha?)

He intentado:

open the sheet 2

open sheet 2

select sheet 2

activate sheet 2

Ninguno de ellos parece funcionar, y todos ellos prevenir la siguiente línea de código dentro de los que encierra try declaración de ser ejecutado.

Tengo la esperanza de que hay algunos realmente una respuesta sencilla para esta (todavía tengo muchas cosas que hacer antes de obtener el código para hacer todo lo que yo quiero, pero estoy atascado aquí ahora).

1voto

user3439894 Puntos 5883

Hasta donde yo sé, los Números no tienen un explícito de AppleScript comando para seleccionar una determinada hoja.

No es la active sheet de la propiedad del documento, por ejemplo,

tell application "Numbers" to get active sheet of front document

que se devolverá el active sheet; sin embargo, a pesar de que uno podría pensar que, por ejemplo,

tell application "Numbers" to set active sheet of front document to sheet 2

suponiendo que hay un sheet 2, podría establecer por ejemplo, sheet 2 a la active sheet, no establece como el active sheet.

Aquí está el método que yo uso la que hace que un determinado sheet el active sheet en la parte delantera del documento:

Nota: Este es un hack método y esto causa un documento guardado para mostrar como editado, aunque no alterar el valor de la celda objetivo. Funciona mediante el ajuste del valor de cell "A1" a su valor actual, por lo que mientras que la percibe como una edición, no de datos ha sido alterada desde su valor actual. Sin embargo, no funciona para mí en Números 5.1 en macOS Alta Sierra, y es por eso que yo lo uso.

my selectSheet(2)

on selectSheet(n)
    try
        tell application "Numbers"
            activate
            set value of first cell of first table of sheet n of front document to ¬
                (value of first cell of first table of sheet n of front document)
        end tell
        --  # Press escape key to remove focus from cell A1.
        tell application "System Events" to key code 53
    on error eStr number eNum
        display dialog eStr & " number " & eNum buttons {"OK"} ¬
            default button 1 with icon caution
        return
    end try
end selectSheet

Nota: El ejemplo de AppleScript código es sólo eso y, sans cualquier incluido el manejo de errores, que no contiene ningún otro error de manipulación como puede ser apropiado. La responsabilidad recae sobre el usuario para agregar cualquier error de manipulación como puede ser apropiado, necesitaba o quería. Echa un vistazo al tratar de instrucción y de error de instrucción en la Guía de Lenguaje de AppleScript. Véase también el Trabajo con los Errores.

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