google电子表格中的getFormUrl()仅返回最后链接表单的网址?

时间:2015-03-22 13:34:36

标签: google-apps-script google-sheets google-form

我有两个与一个电子表格相关联的表单,每个表单一个表单。 当我运行这样的脚本时

function myFunction() {
  var ss;
  ss = SpreadsheetApp.getActive();
  Logger.log(ss.getFormUrl());
}

我只会看到一个网址(生命显示第二种形式的网址)。有没有办法获取所有链接表单的网址?

2 个答案:

答案 0 :(得分:1)

API目前缺少此功能。问题跟踪器上存在针对此here的现有请求。明星要解决这个问题。

答案 1 :(得分:0)

我知道这是一个老问题,但我仍会添加一个可能涉及的答案。

通常来说,Form连接到Sheet,而不是Spreadsheet本身。因此,获取所有Spreadsheet表单的一种方法是遍历Sheet的{​​{1}},并获取其表单URL,如下所示:

Spreadsheets

Docs

另一种可能的方法是获取驱动器或function getFormsOfSpreadsheet(spreadsheetId) { const ss = SpreadsheetApp.openById(spreadsheetId); const sheets = ss.getSheets(); const formsUrls = []; for (const sheet of sheets) { const formUrl = sheet.getFormUrl(); // getFormUrl() returns null if no form connected if (formUrl) { formsUrls.push(formUrl); } } return formsUrls; } 中的所有Form,然后遍历它们以获取目的地并将其与您的Folder ID进行比较,就像在this answer

中一样