如何在Google Apps脚本中获取活动文件ID

时间:2016-06-01 16:09:31

标签: google-apps-script

所以我目前正在使用它来获取附加组件的活动文件ID。但是,这仅适用于文档而不适用于电子表格或表单。有人知道解决这个问题吗?

 var files = DriveApp.getFileById(DocumentApp.getActiveDocument().getId());

2 个答案:

答案 0 :(得分:1)

试试这个:

var id, ss, doc, form;

ss = SpreadsheetApp.getActiveSpreadsheet();
doc = DocumentApp.getActiveDocument();
form = FormApp.getActiveForm();

if (ss != null && ss != undefined)
  id = ss.getId();
else if (doc != null && doc != undefined)
  id = doc.getId();
else if (form != null && form != undefined)
  id = form.getId();

我还没有机会测试它,但我相信它会起作用。如果它在尝试获取活动文档的任何行上抛出错误,则需要使用嵌套的try catch。

答案 1 :(得分:-1)

对于id,您可以手动获取。在此示例网址中,

https://docs.google.com/spreadsheets/d/samaladfajefjasdkfje/edit
d//edit之间的

id

另一种选择是为每个其他文件创建一个容器绑定脚本并编写

function activeID()
{
  Logger.log(SpreadsheetApp.getActiveSpreadsheet().getId());
}

然后运行并按ctrl + enter(" View> Logs"如果它不起作用)。然后,记住记录的值。