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