1 votos

¿Existe un comando AppleScript para ampliar una hoja en Numbers?

Creo que la respuesta a esta pregunta es "no", ya que no he encontrado ninguna mención al respecto en el diccionario de Numbers, pero he pensado en preguntar aquí por si se trata de una función no documentada.

Tengo una Tabla bastante grande en la que estoy usando AppleScript. Estoy ejecutando un script como este en él y he notado que es muy lento cuando el nivel de zoom es bajo. Cuando lo pongo al 400% se ejecuta 100 veces más rápido.

repeat with i from 2 to the count of cells of column "E"
    set the value of cell i of column "E" to (the value of cell i of column "C")
end repeat

Entonces, ¿hay alguna forma de automatizar esto en AppleScript para que antes de entrar en ese bucle de repetición pueda poner el zoom al 400%?

Me gustaría añadir que no puedo utilizar los Eventos del Sistema en este caso ya que necesito que ocurra en segundo plano.

1voto

user3439894 Puntos 5883

Lo siguiente ejemplo AppleScript código utiliza Guiones de interfaz de usuario Sin embargo, tal y como se ha probado, no ha necesitado Números para estar en primer plano. En otras palabras, funcionará en segundo plano, aunque he visto el Zoom menú aparecen brevemente pero el ventana se quedó en el fondo.

Ejemplo AppleScript código :

--  # Assumes Numbers spreadsheet is already opened.   

my zoomToPercent("400%")

on zoomToPercent(p)
    tell application "System Events"
        tell group 2 of ¬
            toolbar 1 of ¬
            window 1 of ¬
            application process "Numbers"

            set percentButton to ¬
                the first menu button ¬
                    whose name contains "%"

            click percentButton
            click menu item p of menu 1

        end tell
    end tell
end zoomToPercent

Notas:

Configurarlo como un manipulador para que puedas pasarle un nuevo valor después del procesamiento en el porcentaje más alto.

Puedes cambiar window 1 por ejemplo window "Untitled" o cualquiera que sea el nombre de la ventana es.

El manipulador también podría modificarse para tomar un segundo parámetro siendo el nombre de la ventana .

Nota: El Zoom menú en el Barra de herramientas y el valor debe ser uno que se muestre en el Zoom menú en el Barra de herramientas .

Guiones de interfaz de usuario puede ser kludgy y es propenso a fallar. Puede romperse fácilmente a medida que el UI cambios en diferentes versiones del producto, o cambiar el usuario puede hacer, problemas de tiempo, etc.

El ejemplo AppleScript código que se muestra arriba, se probó en Script Editor con Números versión 10.2 (7028.0.88) bajo MacOS Catalina con Lengua y región ajustes en Preferencias del sistema ajustado a Inglés (EE.UU.) - Primaria y me ha funcionado sin problemas 1 .

  • 1 Asume los ajustes necesarios y apropiados en <strong>Preferencias del sistema </strong>> <strong>Seguridad y privacidad </strong>> <strong>Privacidad </strong>se han fijado/abordado según las necesidades.

Modificado manipulador para tomar el porcentaje y el nombre de ventana :

--  # Assumes Numbers spreadsheet is already opened.   

my zoomToPercent("400%", "Untitled")

on zoomToPercent(p, n)
    tell application "System Events"
        tell group 2 of ¬
            toolbar 1 of ¬
            window n of ¬
            application process "Numbers"

            set percentButton to ¬
                the first menu button ¬
                    whose name contains "%"

            click percentButton
            click menu item p of menu 1

        end tell
    end tell
end zoomToPercent

Nota: El <em>ejemplo </em><strong>AppleScript </strong><em>código </em>es sólo eso y sin ningún tipo de inclusión <em>tratamiento de errores </em>no contiene ningún otro <em>tratamiento de errores </em>según corresponda. Corresponde al usuario añadir cualquier <em>tratamiento de errores </em>como sea apropiado, necesario o deseado. Eche un vistazo a la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="nofollow noreferrer"><strong>pruebe con </strong></a><em>declaración </em>y <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="nofollow noreferrer"><strong>error </strong></a><em>declaración </em>en el <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="nofollow noreferrer"><strong>Guía del lenguaje AppleScript </strong></a>. Véase también, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="nofollow noreferrer"><strong>Trabajar con errores </strong></a>. Además, el uso de la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="nofollow noreferrer"><strong>retraso </strong></a><em>comando </em>puede ser necesario entre eventos cuando sea apropiado, por ejemplo <code>delay 0.5</code> con el <em>valor </em>de la <em>retraso </em>ajustado apropiadamente.

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