2 votes

Substitution de texte et modification de la couleur de fond des cellules. Numéros et AppleScript

Je travaille avec des fichiers de feuille de calcul Numbers dont le résultat final doit être en allemand. La source des données est l'application Configurateur d'Apple (via Automator), qui produit tout en anglais malgré les paramètres régionaux allemands appliqués au compte utilisateur... c'est juste un tout petit peu de contexte.

J'ai déjà trouvé quelques AppleScript pour aider à cela.

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

Cette méthode peut être facilement réappliquée pour traiter d'autres mots de la colonne qui m'intéressent.

Quelqu'un peut-il m'aider à modifier cette fonction pour qu'elle puisse également changer la couleur de fond de la cellule ? Par exemple, si "VRAI" se trouve dans une cellule donnée (dans une colonne particulière), il sera remplacé par "RICHTIG" et le fond deviendra vert clair ?

De même, la mention "FALSE" doit être remplacée par "FALSCH" et une couleur de fond rouge clair.

J'ai déjà essayé avec "définir sa couleur de fond à "vert" par exemple, sur une nouvelle ligne juste après fixer sa valeur à ma SUBSTITUTE(sa valeur, "TRUE", "RICHTIG") mais l'erreur " Un identifiant ne peut pas aller après cet identifiant"

Je dois également souligner que le "type de données" de toutes les colonnes est déjà défini comme "texte".

Merci.

WL

3voto

OnePablo Points 1

Je vous offre ceci en précisant que je ne suis pas en mesure de le tester, car je n'utilise pas le système de gestion de l'information de l'entreprise. Numéros . Cependant, avec l'aide de cette page Je vous propose ce code comme un exemple de ce qui pourrait vous aider à atteindre votre objectif :

        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

William Lombard Points 215

Merci de m'avoir permis de faire environ 95% du chemin.

L'échelle de couleurs utilisée par Pages/AppleScript fonctionne en fait sur l'échelle 0-65k. Merci au logiciel "Digital Colour Meter" de mon Mac de m'avoir aidé à repérer celle-là, où toutes les permutations de {255,0,0} apparaissent noires ! Mais vous étiez quand même sur la bonne voie.

Voici la solution qui m'a permis de franchir la ligne...

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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X