如何在谷歌幻灯片第n张之后以编程方式删除幻灯片



我有一段代码,它将谷歌工作表中的行拉入谷歌幻灯片。然而,我想添加一个逻辑,它首先删除第二张幻灯片之后的所有幻灯片(如果有的话(。然后,它应该完成下面的所有操作(替换文本内容(。我该怎么做?

function generateSlides() {
var dataSpreadsheetUrl = "https://docs.google.com/spreadsheets/d/1kLb0bIVeDTb8He"; 
var ss = SpreadsheetApp.openByUrl(dataSpreadsheetUrl);
var deck = SlidesApp.getActivePresentation();
var sheet = ss.getSheetByName('Form_Responses');
var values = sheet.getRange('A2:G20').getValues();
var slides = deck.getSlides();
var templateSlide = slides[1];
var presLength = slides.length;

values.forEach(function(page){ 
if(page[0]){

var Email = page[1]; #column 2
var Name = page[2]; #column 3
var timestamp = page [0]; # column 1. 

var shapes = (newSlide.getShapes());
shapes.forEach(function(shape){
shape.getText().replaceAllText('{{Email}}',Email);
shape.getText().replaceAllText('{{Name}}',Name);

}); 
presLength = slides.length; 
newSlide.move(presLength); 
} // end our conditional statement
}); //close our loop of values

}
  • 使用getSlides获取演示文稿的所有幻灯片的数组
  • 通过与幻灯片在演示文稿中的位置相对应的索引访问各个幻灯片
  • 创建一个for循环,根据索引遍历所有感兴趣的幻灯片
  • 使用Slide.remove((删除幻灯片

样本片段

var slides = deck.getSlides();
//change i to any other index if desired
for (var i = 2; i < slides.length; i++){
slides[i].remove()
}

相关内容

最新更新