Para Apps Script, intento imprimir el código hexadecimal del cuadro de texto de relleno. Algunas ideas. Estoy atascado una vez que llego a .getSolidFill() . Esta línea no me funciona: 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"); } }); };En su guión, ¿qué tal la siguiente modificación?
console.log("Color String: " +shape.getFill().getSolidFill()); console.log("Color String: " + shape.getFill().getSolidFill().getColor().asRgbColor().asHexString());Cuando se ejecuta este script modificado, puede recuperar el color de las formas como el valor HEX.
O, ¿qué tal la siguiente modificación?
De
slide.getShapes().forEach(shape => { if (shape.getFill().getSolidFill()!== null) console.log("Color String: " +shape.getFill().getSolidFill());A
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()); } });