2 votos

Sustitución de texto y cambio del color de fondo de las celdas. Números y AppleScript

Estoy trabajando con archivos de hoja de cálculo 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 pequeño antecedente.

He encontrado algunos AppleScript para ayudar con esto ya.

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 otras palabras de la columna que me interesan.

Sin embargo, ¿alguien puede ayudarme a modificar esto para que también pueda cambiar el color de fondo de la celda? Así, por ejemplo, si "TRUE" está en una celda dada (en una columna particular) se cambiará a "RICHTIG" y el fondo cambiará a verde claro?

También para cambiar "FALSE" por "FALSCH" y un color de fondo rojo claro.

Ya lo he intentado con "establecer su color de fondo a "verde" por ejemplo, en una nueva línea justo después de establecer su valor en mi SUBSTITUTE(su valor, "TRUE", "RICHTIG") pero arroja el error " Un identificador no puede ir tras este identificador"

También debo destacar que todas las columnas tienen su "tipo de datos" ya configurado como "texto".

Gracias.

WL

3voto

qarma Puntos 71

Ofrezco esto con la advertencia de que no puedo probarlo, ya que no uso Números . Sin embargo, con la ayuda de esta página En este caso, le propongo este código como ejemplo de lo que podría ayudarle a conseguir 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

1voto

Gene Puntos 11

Gracias por llevarme al 95% del camino.

La escala de colores que utiliza Pages/AppleScript funciona realmente en la escala 0-65k. Gracias a que el software "Digital Colour Meter" de mi Mac me ayudó a detectar eso, ¡que todas las permutaciones de {255,0,0} aparecen en negro! Pero aun así estabas en el camino correcto.

Esta es la solución que me hizo 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

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