Я вижу, что слайды имеют getShapeType
но не имеют метода setShapeType
.
Как мы можем обновить тип фигуры в Google Slides?
Это возможно из контекстного меню Google Slides, но не представляется возможным с помощью Google App Script.
Есть идеи? Благодарность!
Всего 2 ответа
Из Class Layout вы можете использовать getShapes, чтобы перейти к Class Shape, где есть много методов для работы с фигурами.
В настоящее время вы не можете изменить тип существующей фигуры с помощью скрипта приложения. Это невозможно даже при использовании Slides API (вы можете изменить свойства фигуры в Presentations.batchUpdate , но это не относится к типу фигуры).
После создания Shape тип устанавливается, и если вы хотите иметь Shape другого типа, вам нужно создать новый.
Однако есть способы достичь этого, даже если не так прямо и быстро:
Используя встроенные методы Apps Script, вы можете сделать следующее:
getRotation
, getHeight
и т. Д.). См., Например, этот пример, в котором извлекаются положение, вращение и размеры существующей фигуры, затем удаляется фигура, и, наконец, создается новая с той же позицией, вращением и размерами старой, и треугольная форма:
var left = shape.getLeft();
var top = shape.getTop();
var rotation = shape.getRotation();
var height = shape.getHeight();
var width = shape.getWidth();
shape.remove();
var shapeType = SlidesApp.ShapeType.TRIANGLE;
var newShape = slide.insertShape(shapeType, left, top, width, height);
newShape.setRotation(rotation);
Вы также можете активировать Advanced Slides Service и использовать API Slides для выполнения того же процесса. Вы должны сделать следующее:
Я бы посоветовал вам рассмотреть возможность подачи запроса на добавление функций в этом компоненте отслеживания проблем, объясняющего потенциальную полезность этой желаемой функциональности.