Google 应用电子表格父文件夹 ID

kc0*_*hwa 5 google-docs google-sheets google-apps-script google-drive-api

我有一个谷歌电子表格,用于跟踪电子表格所在文件夹内的文件及其名称。
我查看过但找不到如何获取该工作表的位置或 ID
在 MS CMD 脚本中,它将是“%~dp0”。
如何在谷歌应用电子表格脚本中执行此操作。

 function FnctnMenuUpdateGetLocation() {
 var ss = SpreadsheetApp.getActiveSpreadsheet();
  var SSID=ss.get.getId();
  var file = DocsList.getFileById(SSID);

  Browser.msgBox(SSID);
  Browser.msgBox(add);
}
Run Code Online (Sandbox Code Playgroud)

https://docs.google.com/spreadsheet/ccc?key=0AmsQN3N9km70dGwtLTJXVVBzbmJhdmE5OFpkbTVxelE&usp=sharing ya,我在里面工作,
这是一个实时表

从我所知道的,你如何从电子表格中获取谷歌驱动器中电子表格的地址,
我将让它添加我需要的文件夹/目录和文件

由于谷歌文档不是谷歌驱动器,从电子表格到谷歌驱动器的界面如何

Wal*_*osz 5

这在 2018 年 6 月有效

这个答案还假设您只对父列表中的第一个文件夹感兴趣。

var spreadsheetId =  SpreadsheetApp.getActiveSpreadsheet().getId();
var spreadsheetFile =  DriveApp.getFileById(spreadsheetId);
var folderId = spreadsheetFile.getParents().next().getId();
Run Code Online (Sandbox Code Playgroud)


Mog*_*dad 3

文档服务和驱动器服务都可以报告电子表格所在的文件夹。

这是您的函数,已更新为使用这两种服务显示包含电子表格的文件夹的名称。

在此输入图像描述

function FnctnMenuUpdateGetLocation() {
   var ss = SpreadsheetApp.getActiveSpreadsheet();
   var SSID=ss.getId();

   var fileInDocs = DocsList.getFileById(SSID);
   var folderInDocs = fileInDocs.getParents()[0].getName();

   var fileInDrive = DriveApp.getFolderById(SSID);
   var folderinDrive = fileInDrive.getParents().next().getName();

   Browser.msgBox("Docs says: " + folderInDocs +
                  ", Drive says: " + folderinDrive);
}
Run Code Online (Sandbox Code Playgroud)

文档服务的.getParents()方法返回一个文件夹对象数组,而 Drive 的方法返回一个迭代器,因此在获取所有父文件夹后如何检索特定父文件夹的详细信息有所不同。

请注意,电子表格可能“包含”在多个文件夹中......在这种情况下,我们假设列表中的第一个文件夹是唯一的 - 该假设可能无效。

  • `DocsList` 现在似乎已弃用(未定义)。该脚本不再按原样运行。 (2认同)