Sustitución de texto y cambio del color de fondo de la celda. Números y AppleScript

1

Estoy trabajando con archivos de hoja de cálculo de números cuya salida final debe estar en alemán. La fuente de los datos es la aplicación Apple Configurator (a través de Automator), que produce todo en inglés a pesar de la configuración regional alemana aplicada a la cuenta del usuario ... eso es solo un poco de fondo.

Ya he encontrado algunos AppleScript para ayudar con esto.

tell application "Numbers"
    tell front document's active sheet
        tell (first table whose selection range's class is range)
            repeat with c in column "B"'s cells
                tell c to if its value contains "TRUE" then ¬
                    set its value to my SUBSTITUTE(its value, "TRUE", "RICHTIG")
            end repeat
        end tell
    end tell
end tell

to SUBSTITUTE(str, f, r)
     set text item delimiters to f
     set temp to str's text items
     set text item delimiters to r
     return temp as string
end SUBSTITUTE

Esto se puede volver a aplicar fácilmente para lidiar con otras palabras en la columna en la que estoy interesado.

¿Puede alguien ayudarme a modificar esto para que también pueda cambiar el color de fondo de la celda? Entonces, por ejemplo, si "VERDADERO" está en una celda determinada (en una columna en particular), se cambiará a "RICHTIG" y el fondo cambiará a verde claro.

Igualmente, para que "FALSO" se cambie a "FALSCH" y un color de fondo rojo claro.

Ya he intentado con "establecer su color de fondo en" verde ", por ejemplo, en una nueva línea justo después de que establezca su valor en mi SUSTITUTO (su valor," VERDADERO " , "RICHTIG") pero produce el error " Un identificador no puede ir detrás de este identificador"

También debería recalcar que todas las columnas tienen su "tipo de datos" ya establecido en "texto"

Gracias.

WL

    
pregunta William Lombard 13.02.2018 - 05:21

2 respuestas

2

Ofrezco esto con el descargo de responsabilidad de que no puedo probar esto, ya que no uso Numbers . Sin embargo, con la ayuda de esta página , propongo este código como ejemplo de lo que podría ayudarlo a lograr su objetivo:

        repeat with c in cells of column "B"
            if value of c contains "TRUE" then
                set value of c to my SUBSTITUTE(value of c, "TRUE", "RICHTIG")
                set background color of c to {0,65535,0}
            else if value of c contains "FALSE" then
                set value of c to my SUBSTITUTE(value of c, "FALSE", "FALSCH")
                set background color of c to {65535,0,0}
            end if
        end repeat
    
respondido por el CJK 14.02.2018 - 20:58
1

Gracias por traerme alrededor del 95% del camino.

La escala de color que utiliza Pages / AppleScript realmente funciona en una escala de 0-65k. Gracias por el software "Digital Color Meter" en mi Mac que me ayudó a detectar ese, ¡donde todas las permutaciones de {255,0,0} aparecen en negro! Pero todavía estabas en el camino correcto.

Aquí está la solución que me ayudó a superar la línea ...

repeat with c in column "B"'s cells
                if value of c contains "TRUE" then
                    set value of c to my SUBSTITUTE(value of c, "TRUE", "RICHTIG")
                    set background color of c to {0, 65000, 0}
                else if value of c contains "FALSE" then
                    set value of c to my SUBSTITUTE(value of c, "FALSE", "FALSCH")
                    set background color of c to {65000, 0, 0}
                end if
end repeat
    
respondido por el William Lombard 14.02.2018 - 21:57

Lea otras preguntas en las etiquetas