4 Replies Latest reply on Jul 3, 2018 2:47 PM by Loic.Aigon

    [JS] Changer la couleur d'un texte dans une cell

    Liphou Level 2

      Bonjour,

       

      Je cherche à modifier un de mes scripts pour mettre en couleur le texte d'une cellule (points d'insertion)  ou de plusieurs cellules sélectionner.

      voici le script de départ actuellement il change la couleur de fond de la ou les cellules :

       

      //$.writeln(app.selection[0].parent.constructor.name);
      //$.writeln(app.selection[0].parent.fillTint);
      
              
          // app.selection[0].parent.fillTint = 25;
           if (app.selection[0].constructor.name === "InsertionPoint") {
              
                  app.selection[0].parent.fillTint = 25;
      
              } else {
           
                  app.selection[0].cells.everyItem().fillTint = 25;
           }
      

       

       

      je dois utiliser la commende fillColor mais je bloc au niveau des parents.

       

       

      Merci pour votre aide

       

      Philou

        • 1. Re: [JS] Changer la couleur d'un texte dans une cell
          Liphou Level 2

          Ok pour une seul cellule

           

          app.selection[0].parent.texts[0].fillColor = maCouleurs;
          
          • 2. Re: [JS] Changer la couleur d'un texte dans une cell
            Liphou Level 2

            Voilà

             

            cela devrait suffire :

             

            //$.writeln(app.selection[0].parent.constructor.name);
            //$.writeln(app.selection[0].parent.fillTint);
            
               
                if (app.selection[0].constructor.name === "InsertionPoint") {
                    
                      app.selection[0].parent.texts[0].fillColor = app.activeDocument.colors.item("Bleu Claire");
                      
                    } else {
                 
                    
                          for (var i = 0; i < app.selection[0].cells.length; i++) {
                              app.selection[0].cells[i].texts[0].fillColor = app.activeDocument.colors.item("Bleu Claire");
                              }
                          
                 }
            

             

            Si vous avez quelque chose de plus rapide ?

            Merci à vous

             

            Philou

            • 3. Re: [JS] Changer la couleur d'un texte dans une cell
              Laubender Adobe Community Professional & MVP

              Hi Philou,

              just a note for all using the translation feature of the forum:

              The code will change a bit if you let the forum translate this to English.

               

              Some examples:

               

              if becomes If

              colors.item ("clear blue") becomes colors.item (,"clear blue",)

               

              So be careful if you copy code!

               

              Regards,

              Uwe

              1 person found this helpful
              • 4. Re: [JS] Changer la couleur d'un texte dans une cell
                Loic.Aigon Adobe Community Professional

                Hi Philou

                 

                
                var main = function() {
                
                var doc = app.properties.activeDocument, sel, type, cell;
                
                if ( !doc ) {
                alert("You need an open document" );
                return;
                }
                
                sel = app.selection;
                if (!sel.length) {
                alert("You need to select either a selection point, either some cells" );
                return;
                }
                
                
                if ( sel.length == 1 ) {
                sel = sel[0];
                type = sel.constructor.name;
                if ( type == "InsertionPoint" && sel.parent.constructor.name == "Cell" ) {
                cell = sel.parent;
                }
                else if ( type=="Cell" ) {
                cell = sel;
                }
                cell && cell.fillColor = getColor ( doc, "red",[0,100,100,0] );
                }
                }
                
                
                function getColor ( doc, colorName, cmykArr ) {
                var c = doc.colors.itemByName ( colorName );
                !c.isValid && c = doc.colors.add( {
                name:colorName,
                colorValue:cmykArr,
                model:ColorModel.process,
                });
                return c;
                }
                
                
                var u;
                
                
                app.doScript ( "main()",u,u,UndoModes.ENTIRE_SCRIPT, "The Script" );
                

                 

                No loop implied

                1 person found this helpful