3 votos

Usar AppleScript para cambiar el color del texto en Keynote

Estoy cansado de hacer clic en la rueda de colores para obtener colores personalizados y me gustaría usar AppleScript para automatizar con BTT un simple botón para cambiar el color del texto seleccionado a un conjunto de estándares de la empresa. He podido llegar a abrir el Selector de Colores en Keynote con AppleScript, pero no puedo averiguar cómo hacer clic en el lápiz. Esto es lo que muestra el Inspector de Accesibilidad: Color picker Blueberry pencil

Este es mi código hasta ahora, pero la selección para hacer clic en Lápiz de Arándano sigue quejándose de que

Eventos del sistema tiene un error: No se puede obtener la ventana "Color del texto" del proceso de aplicación "Keynote".

tell application "System Events"
    tell process "Keynote"
        tell radio group of toolbar of window 1
            -- This prevents it from toggling the button when already selected
            if value of radio button "Format" = {{0}} then
                click radio button "Format"
            end if
        end tell
        tell scroll area 1 of window 1
            click color well 1
        end tell
    end tell
    tell application "System Events"
        tell window "Text Color" of application process "Keynote"
            tell splitter group 1
                tell radio group "Pencils"
                    click radio button "Blueberry"
                end tell
            end tell
        end tell
    end tell
end tell

Cualquier consejo sería muy apreciado.

1voto

user3439894 Puntos 5883

En Discurso principal si selecciono algunos texto y ejecutar lo siguiente ejemplo AppleScript código el color de la texto se establece en Arándano :

activate application "Keynote"
tell application "System Events"
    tell application process "Keynote"
        tell window 1
            tell radio group of toolbar 1
                if value of radio button 1 = {{0}} then
                    click radio button 1
                end if
            end tell
            click color well of scroll area 1
            click button 5 of toolbar 1
            click radio button 33 of radio group 1 of splitter group 1
            click button 1
        end tell
    end tell
end tell

Si quieres usar el nombre de color del lápiz en lugar de la número del botón de radio y luego cambiar:

click radio button 33 of radio group 1 of splitter group 1

Para:

click (every radio button of radio group 1 of splitter group 1 whose description is "Blueberry")

       Pista: Pase el ratón por encima y desplácese horizontalmente para ver la totalidad código .

Entonces puedes sustituir cualquier color de lápiz para un diferente color entonces "Blueberry" .

Nota: El ejemplo AppleScript código fue probado y funcionó, como es, en mi Mac corriendo MacOS High Sierra y Discurso principal versión 8.1 (5683).


Nota: El <em>ejemplo </em><strong>AppleScript </strong><em>código </em>es sólo eso y no contiene ninguna <em>tratamiento de errores </em>como sea apropiado. El usuario tiene la responsabilidad de añadir cualquier <em>tratamiento de errores </em>como sea apropiado, necesario o deseado. Echa 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 </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>. Ver 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>Trabajando con los 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">retraso </a>El comando 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>y se fijó de manera apropiada.

0 votos

Gracias, ha sido perfecto.

0 votos

¿Puede funcionar este mismo código para Numbers? El menú parece tener la misma estructura y llega hasta seleccionar el botón de opción Texto, pero la acción de hacer clic en el pozo de color no abre el pozo de color, por lo que el siguiente comando falla.

0 votos

@naven87, Suponiendo que el objetivo es texto seleccionado en un célula entonces aquí está el Secuencias de comandos de interfaz de usuario código reelaborado para Números : paste.ee/p/XZxzW

0voto

Mockman Puntos 16

Keynote admite secuencias de comandos para cambiar el color (y el tamaño y la fuente) del texto, por lo que puede realizar cambios sin depender de secuencias de comandos de interfaz de usuario.

Utiliza un modelo RGB en el que se proporciona un número de 16 bits para cada color. Estos valores se obtienen multiplicando el valor RGB por 257. Por ejemplo, Blueberry tiene valores de {0, 0, 255}; multiplique por 257 y obtendrá el {0, 0, 65535} siguiente. A la inversa, si divide cada uno de los colores de "texto añadido" de {25441, 10793, 42404} por 257, obtendrá 99/42/165 (o #632AA5).

tell application "Keynote"
    tell slide 1 of document 1
        --Title
        set the color of object text of the default title item to {0, 0, 65535}
        set the font of object text of the default title item to "Impact"
        set size of the object text of default title item to 54

        --Body
        set the color of object text of the default body item to {8481, 32896, 16704}
        set the font of object text of the default body item to "Impact"
        set size of the object text of default body item to 36

        --Added text
        set color of the object text of text item 3 to {25441, 10793, 42404}
        set the font of object text of the text item 3 to "Impact"
        set size of the object text of text item 3 to 24
    end tell
end tell

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