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

时间:2013-07-10 22:39:25

标签: google-apps-script google-sheets google-docs 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);
}

https://docs.google.com/spreadsheet/ccc?key=0AmsQN3N9km70dGwtLTJXVVBzbmJhdmE5OFpkbTVxelE&usp=sharing 呀,我在工作 这是一张实况表格

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

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

2 个答案:

答案 0 :(得分:3)

文档服务和云端硬盘服务都可以报告电子表格所在的文件夹。

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

enter image description here

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);
}

文档服务的.getParents()方法返回一个文件夹对象数组,而Drive's返回一个迭代器,所以一旦你得到所有文件夹,有关如何检索特定父文件夹的详细信息会有所不同。

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

答案 1 :(得分:2)

这项工作截至2018年6月

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

git merge devBranch