Home > Net >  AppScript Slides Get Hex Code of Text Box
AppScript Slides Get Hex Code of Text Box

Time:06-23

For Apps Script, I'm trying to print the Hex code of the fill of text box. Any ideas. I'm stuck once I get to .getSolidFill(). This line does not work for me: shape.getFill().getSolidFill().getColor().asRgbColor().asHexString())

function adjustFillColor() {


  // // Open the presentation and get the slides in it.
  let deck = SlidesApp.openById(masterDeckID);
  let slides = deck.getSlides();

  let masterSlide = slides[1];

  let slide = masterSlide.duplicate();

  slide.getShapes().forEach(shape => { // Iterate through every shape in the slide
          if (shape.getFill().getSolidFill()!== null){
              shape.getFill().setSolidFill("#000000");
          }
      
    });               
   
  };


CodePudding user response:

In your script, how about the following modification?

From:

console.log("Color String: "  shape.getFill().getSolidFill());

To:

console.log("Color String: "   shape.getFill().getSolidFill().getColor().asRgbColor().asHexString());
  • When this modified script is run, you can retrieve the color of shapes as the HEX value.

  • Or, how about the following modification?

    • From

        slide.getShapes().forEach(shape => {
           if (shape.getFill().getSolidFill()!== null)
              console.log("Color String: "  shape.getFill().getSolidFill());
      
    • To

        masterSlide.getShapes().forEach(shape => {
          var solidFill = shape.getFill().getSolidFill();
          var color = solidFill && solidFill.getColor();
          var rgbColor = color && color.getColorType() == SlidesApp.ColorType.RGB ? color.asRgbColor() : null;
          if (solidFill && color && rgbColor) {
            console.log("Color String: "   rgbColor.asHexString());
          }
        });
      

References:

  • Related