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

Estoy trabajando con archivos de hojas de cálculo de Numbers cuyo resultado 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 de usuario... eso es solo un poco de información.

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 tratar con otras palabras en la columna que me interesa.

¿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.

Del mismo modo que "FALSO" se cambie por "FALSCH" y un color de fondo rojo claro.

Ya probé con "establecer su color de fondo en "verde" , por ejemplo, en una nueva línea justo después de establecer su valor en mi SUSTITUCIÓN (su valor, "VERDADERO", "RICHTIG") pero arroja el error " Un identificador no puede ir tras este identificador"

También debo enfatizar que todas las columnas tienen su "tipo de datos" ya establecido en "texto"

Gracias.

WL

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

Gracias por llevarme alrededor del 95% del camino hasta allí.

La escala de color que utiliza Pages/AppleScript en realidad 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 hizo pasar de la raya...

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
¡Buen lugar! Debería haber mirado más de cerca.