如何使用Google Apps Script按创建日期排序插入图片到Google Slides
调整后可按创建日期排序的代码
核心逻辑是先把Drive返回的文件迭代器转为数组,再基于文件创建时间做自定义排序,代码如下:
function makeSlides() { // 替换为你自己的幻灯片ID和文件夹ID const slideID = "你的幻灯片ID"; const folderID = "你的Drive文件夹ID"; var presentation = SlidesApp.openById(slideID); var folder = DriveApp.getFolderById(folderID); var contents = folder.getFiles(); // 第一步:把文件迭代器转成数组,方便排序 var files = []; while (contents.hasNext()) { files.push(contents.next()); } // 第二步:按创建日期排序 // 最新优先用:b.getDateCreated() - a.getDateCreated() // 最旧优先用:a.getDateCreated() - b.getDateCreated() files.sort(function(a, b) { return b.getDateCreated() - a.getDateCreated(); }); var i = 1; // 从第2张幻灯片开始插,要从第1张开始就改成i=0 for (var j = 0; j < files.length; j++) { var file = files[j]; var slide = presentation.getSlides()[i]; slide.insertImage(file); presentation.appendSlide(SlidesApp.PredefinedLayout.BLANK); i++; } }
调整说明
- 排序方向切换:修改
sort回调函数里的返回值即可,注释里已经标注了两种排序对应的写法 - 插入起始位置调整:修改变量
i的初始值即可,i=0对应演示文稿的第1张幻灯片,i=1对应第2张,以此类推 - 代码做了小幅优化,移除了冗余的重复获取文件、重复声明变量的逻辑,运行效率更高
内容的提问来源于stack exchange,提问作者sp2
相关产品推荐
相关产品推荐

