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?
console.log("Color String: " +shape.getFill().getSolidFill());
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()); } });
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.