Mal*_*lcL 1 google-apps-script google-forms
在电子表格脚本中,我想向用户发送邮件,这些邮件会将他们指向允许他们输入数据的表单的 URL。我试过了:
function test1(){
var formID = FormApp.getActiveForm();
var formUrl = DriveApp.getUrl(formID);
sendMail(formUrl);
return
}
Run Code Online (Sandbox Code Playgroud)
这将失败,因为 formID 的值始终为 NULL。
小智 5
用
var ss = SpreadsheetApp.getActiveSpreadsheet(); // or openById, etc
var formUrl = ss.getFormUrl();
Run Code Online (Sandbox Code Playgroud)
获取它的网址。如果需要,FormApp.openByUrl(formUrl);返回一个指向表单的指针,它允许任何其他方法。
没有内置方法可以返回链接到给定电子表格的表单列表;这是Apps Script 问题跟踪器中的一个未解决的问题。一种解决方法是搜索所有表单(就像 Cyrus Loree 所做的那样),获取每个表单的目的地,然后返回目的地是感兴趣的电子表格的表单的列表。这是如何:
function linkedForms() {
var ssId = SpreadsheetApp.getActiveSpreadsheet().getId();
var formList = [];
var files = DriveApp.getFilesByType(MimeType.GOOGLE_FORMS);
while (files.hasNext()) {
var form = FormApp.openByUrl(files.next().getUrl());
try {
if (form.getDestinationId() == ssId) {
formList.push(form.getPublishedUrl());
}
}
catch(e) {
}
}
return formList;
}
Run Code Online (Sandbox Code Playgroud)
评论:
form.getDestinationId()了一个 try 块,因为此方法会引发错误表单的目标电子表格恰好被删除(而不是仅返回null)form.getId()在函数中使用。| 归档时间: |
|
| 查看次数: |
2300 次 |
| 最近记录: |