You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 07:13:14