如何在谷歌应用程序脚本中获取活动文件 ID

use*_*820 1 google-apps-script

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

 var files = DriveApp.getFileById(DocumentApp.getActiveDocument().getId());
Run Code Online (Sandbox Code Playgroud)

Ger*_*eio 5

试试这个:

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();
Run Code Online (Sandbox Code Playgroud)

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