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

如何获取当前演示文稿的ID或名称以获取其父文件夹ID?

获取当前幻灯片所在父文件夹并创建文档的正确方法

你的代码里有几个明显的错误,导致无法正常运行:

  • JavaScript变量名大小写敏感,Var要改成小写的var
  • Google Apps Script的API类名首字母必须大写,比如SlidesApp、DriveApp,不能小写
  • DriveApp.getFileById()需要传入文件ID,你传的是幻灯片对象ss,应该用ss.getId()获取ID
  • 多余的SlidesApp(ss.getid())这行完全没用,直接删掉

下面是修正后的代码,能正常获取当前幻灯片的父文件夹ID和名称:

function getParentFolderInfo() {
  // 获取当前打开的幻灯片对象
  var presentation = SlidesApp.getActivePresentation();
  // 通过幻灯片ID拿到Drive里的文件对象
  var file = DriveApp.getFileById(presentation.getId());
  // 获取文件的父文件夹集合(文件可能有多个父文件夹,这里取第一个)
  var parentFolders = file.getParents();
  
  if (parentFolders.hasNext()) {
    var parentFolder = parentFolders.next();
    var folderId = parentFolder.getId();
    var folderName = parentFolder.getName();
    
    Logger.log("父文件夹ID: " + folderId);
    Logger.log("父文件夹名称: " + folderName);
    // 返回文件夹对象,方便后续创建文档用
    return parentFolder;
  } else {
    Logger.log("这个幻灯片没有父文件夹,可能直接在Drive根目录或者已被删除");
    return null;
  }
}

如果要在同一文件夹里创建新文档,直接调用上面的函数拿到文件夹对象,再执行创建操作就行,比如创建Google文档的例子:

function createDocInSameFolder() {
  var targetFolder = getParentFolderInfo();
  if (targetFolder) {
    // 创建新文档(默认在根目录)
    var newDoc = DocumentApp.create("我的新文档");
    // 把新文档移到目标文件夹
    var newDocFile = DriveApp.getFileById(newDoc.getId());
    targetFolder.addFile(newDocFile);
    // 移除根目录里的副本(可选,避免重复)
    DriveApp.getRootFolder().removeFile(newDocFile);
    
    Logger.log("新文档已经成功创建在当前幻灯片所在的文件夹里了");
  }
}

内容的提问来源于stack exchange,提问作者Stanley Levine

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 15:33:36