#javascript #google-apps-script #google-slides
#javascript #google-apps-script #google-слайды
Вопрос:
Как удалить текстовое поле в Google слайдах с помощью скрипта приложения?
После этого я сохраняю его в формате pdf. Я должен удалить текстовое поле для следующего потока.
var s = SlidesApp.getActivePresentation()
var slide = s.getSlides()[0];
//Student Name
slide
.insertTextBox('Sai',100,100,100,10,10)
.getText()
.getTextStyle()
.setFontSize(StudentName.fontSize);
Ответ №1:
Я считаю, что ваша цель заключается в следующем.
- Как
How to remove the text box in google slides using App script?
я понял, вы хотите удалить текстовое поле в Google Slides с помощью скрипта Google Apps.
В вашем скрипте текстовое поле будет вставлено. В этом случае текстовое поле не удаляется. Чтобы удалить текстовое поле, я хотел бы предложить следующий пример сценария.
Модифицированный скрипт:
function myFunction() {
var s = SlidesApp.getActivePresentation()
var slide = s.getSlides()[0];
slide.getShapes().forEach(shape => {
if (shape.getShapeType() == SlidesApp.ShapeType.TEXT_BOX) {
shape.remove();
}
});
}
-
В этом скрипте все текстовые поля удаляются на 1-м слайде в Google Slides.
-
Если вы хотите удалить все текстовые поля на всех слайдах в Google Slides, вы можете использовать следующий скрипт.
function myFunction() { var s = SlidesApp.getActivePresentation() var slides = s.getSlides(); slides.forEach(slide => { slide.getShapes().forEach(shape => { if (shape.getShapeType() == SlidesApp.ShapeType.TEXT_BOX) { shape.remove(); } }); }); }
Примечание:
- В
After this I am saving it to pdf. I have to remove the text box for next flow.
вашей ситуации, хотя я не уверен во всем вашем скрипте, перед тем, как слайды Google будут экспортированы в формате PDF, чтобы отразить последние слайды Google, может потребоваться поместитьSlidesApp.getActivePresentation().saveAndClose()
. Ссылка Пожалуйста, будьте осторожны с этим.
Ссылки:
Комментарии:
1. Большое вам спасибо. Он работает в соответствии с моими требованиями. Да, я использую «s.saveAndClose();» и var blob = DriveApp.getFileById(«1zkIsdiSaVaK6W_R4du6VuyvK2leC3lBTg8fSzNCN6Zc»).getBlob(); DriveApp.CreateFile (blob); Теперь я использую ваш код для удаления текстового поля. Но он не работает после saveAndClose(). Я проверяю это сейчас.