Solución:
Actualización al 16 de febrero de 2018
El 13 de febrero de 2018, se actualizó el servicio SlidesApp. Ahora, se pueden copiar las diapositivas mediante los métodos nativos.
Este script de muestra copia la página 1 de srcPresentationId
y lo inserta como página 1 de la presentación activa.
Ejemplo de guion:
var srcPresentationId = "### source fileId ###";
var copysrcSlideIndex = 0; // 0 means page 1.
var copydstSlideIndex = 0; // 0 means page 1.
var src = SlidesApp.openById(srcPresentationId).getSlides()[copysrcSlideIndex];
SlidesApp.getActivePresentation().insertSlide(copydstSlideIndex, src);
Referencia:
- insertSlide (insertionIndex, diapositiva)
Respuesta original
¿Sigues buscando el método para copiar diapositivas? Desafortunadamente, he confirmado que todavía no se puede realizar la copia mediante la API de Presentaciones. Pero pensé en una solución.
¿Qué tal la siguiente solución? En una actualización reciente de Google, noté que se agregó Class SlidesApp. Usé esto. Como no encontré el método para copiar una diapositiva directamente a una nueva presentación, utilicé el siguiente flujo.
Fluir :
- Copie la presentación usando
DriveApp
. - Abra la presentación copiada.
- Quite las diapositivas excepto una diapositiva que desee copiar usando
remove()
.
Ejemplo de guion:
function myFunction() {
var srcSlides = 3; // A page number of slide that you want to copy. In this case, the top number is 1.
var srcid = "1Lqtwb5z8NcU4VVj8OOR11AJyET70tlRRj6QIhxsEZZg";
var dstid = DriveApp.getFileById(srcid).makeCopy().getId();
var dstSlides = SlidesApp.openById(dstid).getSlides();
dstSlides.splice(srcSlides - 1, 1);
for (var i in dstSlides) {
dstSlides[i].remove();
}
}
Referencias:
- Clase SlidesApp: https://developers.google.com/apps-script/reference/slides/slides-app
- eliminar (): https://developers.google.com/apps-script/reference/slides/slide#remove
Si esto no fue útil para usted, lo siento.
¿Quizás estás buscando esto?
var PresentationTEST = SlidesApp.openById(TEMPLATE_TEST);
var PresentationTemplate = SlidesApp.openById(TEMPLATE_DEV);
var slides = PresentationTemplate.getSlides();
var slide = slides[0];
var slide = PresentationTEST.appendSlide(slide);