求助:编写删除Google Slides隐藏幻灯片的脚本,现有代码报错
删除Google Slides中所有隐藏幻灯片的脚本
你之前的代码报错,是因为isSkipFirstPage()和isSkipped()并不是Google Apps Script里Slide对象的有效方法,判断幻灯片是否隐藏得用getSlideProperties().isHidden()这个正确接口。
下面是可以正常运行的脚本:
function deleteHiddenSlides() { const presentation = SlidesApp.getActivePresentation(); const slides = presentation.getSlides(); // 从后往前遍历,避免删除幻灯片后索引错乱 for (let i = slides.length - 1; i >= 0; i--) { const slide = slides[i]; // 检查当前幻灯片是否处于隐藏状态 if (slide.getSlideProperties().isHidden()) { presentation.removeSlide(slide); } } }
关键说明:
- 用
slide.getSlideProperties().isHidden()可以准确识别隐藏的幻灯片 - 从后往前遍历列表是因为删除元素后,前面的元素索引会发生变化,从尾部开始删能避免漏删或处理错误
- 调用
removeSlide()时直接传入Slide对象,比传入索引更可靠,不会因为列表长度变化导致索引失效
内容的提问来源于stack exchange,提问作者Francisco Casanova Parra
相关产品推荐
相关产品推荐

