如何使用Google Apps Script与Slides API删除Google Slides中的备注
如何用Google Apps Script删除Google Slides的演讲者备注
别担心,作为Google Apps Script新手,刚接触Slides相关操作时,确实容易把不同的逻辑模块搞混,我来一步步帮你理清实现思路!
核心逻辑其实很清晰:演讲者备注是每个幻灯片关联的「NotesPage」里的特殊文本框元素,我们只需要遍历所有幻灯片,定位到对应的备注文本框,再执行删除(或清空内容)操作即可。
完整代码示例
function deleteAllSpeakerNotes() { // 替换成你的演示文稿ID(可从Slides的URL中提取) const presentationId = "你的演示文稿ID"; const presentation = SlidesApp.openById(presentationId); // 获取演示文稿内的所有幻灯片 const slides = presentation.getSlides(); slides.forEach(slide => { // 获取当前幻灯片对应的演讲者备注页面 const notesPage = slide.getNotesPage(); // 获取备注页面内的所有元素 const pageElements = notesPage.getPageElements(); // 遍历元素,精准定位演讲者备注文本框 pageElements.forEach(element => { // 判断元素是否为系统默认的备注文本框 if (element.getPageElementType() === SlidesApp.PageElementType.SLIDE_NOTES_SHAPE) { // 删除整个备注文本框 element.remove(); // 若只想清空备注内容、保留文本框结构,可替换为下面这行: // element.asShape().getText().clear(); } }); }); // 弹出提示告知操作完成 SlidesApp.getUi().alert("所有演讲者备注已删除完成!"); }
关键步骤拆解
- 打开目标演示文稿:使用
SlidesApp.openById(),ID可从Slides的URL中提取(比如URL为https://docs.google.com/presentation/d/XXX/edit,XXX就是演示文稿ID)。 - 遍历所有幻灯片:
getSlides()会返回所有幻灯片的数组,我们逐个处理每一页的备注。 - 获取备注页面:每个幻灯片都绑定了专属的
NotesPage,这就是存放演讲者备注的容器。 - 定位备注文本框:备注页面内的元素中,系统默认的备注文本框类型为
SLIDE_NOTES_SHAPE,通过这个标识可以精准筛选出我们要操作的元素。 - 执行删除/清空:
element.remove()会直接删除整个备注文本框;如果只想清空文字、保留文本框结构,改用清空文本内容的方法即可。
运行提示
第一次运行函数时,Google会要求授权(因为需要访问你的Slides文件),按照页面提示完成授权流程即可正常执行。
内容的提问来源于stack exchange,提问作者user3306720
相关产品推荐
相关产品推荐

