简体   繁体   中英

AppScript Slides Get Hex Code of Text Box

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");
          }
      
    });               
   
  };


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:

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM