如何通过Google Apps Script在表格所在相对路径创建文件?
实现方法
完全可以实现你的需求,不用局限在根目录创建文件,具体操作如下:
1. 获取当前表格所在的父文件夹
脚本绑定在表格文件中,可直接获取表格所属的父文件夹(也就是你示例里的My Drive/Folder 1):
// 获取当前活跃的表格文件 const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // 获取表格所在的父文件夹(表格仅存于一个文件夹,直接取第一个结果) const parentFolder = DriveApp.getFileById(spreadsheet.getId()).getParents().next();
2. 查找或创建目标子文件夹
检查父文件夹下是否存在Presentations Folder,不存在则创建:
let presentationsFolder; // 遍历父文件夹的子文件夹,查找目标文件夹 const folders = parentFolder.getFoldersByName('Presentations Folder'); if (folders.hasNext()) { // 找到已存在的目标文件夹 presentationsFolder = folders.next(); } else { // 不存在则新建文件夹 presentationsFolder = parentFolder.createFolder('Presentations Folder'); }
3. 在目标文件夹生成幻灯片
根据你的代码习惯,有两种实现方式:
方式一:直接在目标文件夹创建幻灯片
// 创建幻灯片并直接保存到目标子文件夹 const slideFile = presentationsFolder.createFile(SlidesApp.create('Slides File').getBlob()).setName('Slides File');
方式二:将已创建的幻灯片移动到目标文件夹
如果你的代码是先在根目录生成幻灯片,再移动过去:
// 先创建幻灯片 const slideFile = SlidesApp.create('Slides File'); // 获取文件对象并移动到目标子文件夹 DriveApp.getFileById(slideFile.getId()).moveTo(presentationsFolder);
不管谁复制这个脚本,只要表格存放在任意路径下,脚本都会自动定位到表格所在文件夹,在其子文件夹中生成幻灯片,适配每个人的不同存储路径。
内容的提问来源于stack exchange,提问作者Amber Butler
相关产品推荐
相关产品推荐

