В настоящее время вы не можете изменить тип существующей фигуры с помощью скрипта приложения. Это невозможно даже при использовании Slides API (вы можете изменить свойства формы в Presentations.batchUpdate , но это не относится к типу формы).
После создания фигуры устанавливается тип, и если вы хотите, чтобы фигура имела другой тип, вам нужно создать новый.
Есть способы достичь этого Тем не менее, даже если это не так просто и быстро:
Обходной путь # 1 (методы скрипта приложения):
Используя встроенные методы скрипта приложения, вы можете сделать следующее:
- Получите свойства фигуры, которую вы хотите обновить (включая положение, вращение, масштабирование, цвет и т. Д. c.), С помощью соответствующих методов (
getRotation
, getHeight
и др. c). ). - Удалите эту существующую фигуру с помощью Shape.remove .
- Создайте новую фигуру с теми же свойствами, что и у старой, но с другой формой, с помощью Slide.insertShape .
См., Например, этот пример, в котором извлекаются позиция, вращение и размеры существующей фигуры, затем фигура удаляется и, наконец, новая один создается с тем же положением, вращением и размерами старого, и форма tri angular:
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);
Обходной путь # 2 (Advanced Slides Service):
Вы также можете активировать Advanced Slides Service и использовать Slides API для выполнения sh тот же процесс. Вам нужно будет сделать следующее:
Примечание:
Я бы посоветовал вам рассмотреть возможность подачи запроса на добавление в этого компонента отслеживания проблем , объясняющего потенциальную полезность этого желаемого Функциональность Расширенный сервис слайдов
Slide.insertShape (shapeType, left, top, width, height)