Я написал некоторый код для создания Google Slide из шаблона Slide.
Вот шаги, которые я выполняю для создания целевого слайд-документа:
- Сначала я скопирую слайд шаблона в целевой документ, назовем его «Обзор». Если обзорный документ не существует, я создаю его. В противном случае я обновляю существующий документ. Почему ? Просто чтобы сохранить его идентификатор и иметь возможность всегда связывать один и тот же документ в других документах слайдов.
- Я удаляю существующий слайд и заменяю слайдом шаблона. И, на мой взгляд, вот где у меня проблема ... См. Ниже
- Затем мой скрипт заменяет заполнители изображениями, диаграммами или текстом ... И это все, ребята!
Вот код, который я использую для инициирования целевого документа:
function initializePresentation(templatePresentation, dstFolder, dstFileName){
var dstPresentation = "";
// Check if output file already exist
if (fileExists(dstFileName, dstFolder)) {
// Presentation already exists, open it
dstPresentation = SlidesApp.openById(
DriveApp.getFilesByName(dstFileName).next().getId());
// Remove all slides
var dstSlides = dstPresentation.getSlides();
for(i=0; i < dstSlides.length; i++) {
dstSlides[i].remove();
}
// Copy template slide in destination document
var templateSlide = templatePresentation.getSlides()[0];
dstPresentation.appendSlide(templateSlide);
}
else {
// Presentation does not exist, create it
var dstFile = DriveApp.getFileById(templatePresentation.getId()).
makeCopy(dstFileName, dstFolder);
// Open the created presentation
dstPresentation = SlideApp.openById(dstFile.getId());
}
return dstPresentation;
}
Теперь давайте свяжем новый сгенерированный обзорный слайд с другим документом ... Он работает, пока я не обновлю Обзор!
Поведение кажется нормальным, потому что сначала я удаляю существующий слайд в своем обзоре, а затем добавляю один из моего шаблона.
Как бы вы сделали, чтобы не разорвать ссылку? Я проверил документацию SlidesApp и не нашел способа установить / получить идентификаторы слайдов и поиграть с ним для поддержания ссылок (если ссылки основаны на идентификаторах наверняка!).
В противном случае, есть ли способ эмулировать вид:
- CTRL + A + DEL, чтобы очистить мой целевой слайд
- CTRL + A + CTRL + C, чтобы скопировать из моего шаблона, затем CTRL + V, чтобы вставить в мой целевой слайд?
Большое спасибо за вашу помощь!