我一直在使用Google Apps处理一个简单的“Time off request”表单。我将脚本与表格相关联,该表格检测受访者的主管,并向他们发送新表格的链接以供他们批准。
以下是我用来创建新表单的脚本中的代码。
//create approval form as part of the Message Creation process.
var approvalForm = FormApp.create("Approve Days off Request")
approvalForm.setTitle("Approval form for " + user.Name)
// truncated ...
var approvalItem = approvalForm.addMultipleChoiceItem(); //Item on First Page
var disapproveReasonPage = approvalForm.addPageBreakItem(); //Page Break Item
var disapproveReason = approvalForm.addParagraphTextItem(); //Item on Second Page
// truncated ...
//Question 1, Page 1
approvalItem.setTitle(user.Name + " has requested " + daysOff + " day(s) off starting on " + firstDate+".")
approvalItem.setHelpText("Would you like to approve this request?")
approvalItem.setRequired(true);
approvalItem.setChoices ([
approvalItem.createChoice('Yes', FormApp.PageNavigationType.SUBMIT),
approvalItem.createChoice('No', FormApp.PageNavigationType.CONTINUE)
]);
//Question 2, Page 2
disapproveReason.setTitle("Would you like to give a reason?");
disapproveReason.setHelpText("Optional")
disapproveReasonPage.setGoToPage(FormApp.PageNavigationType.SUBMIT)
然后生成一个链接并发送给主管以批准该请求。 我想在上面创建的表单中添加一个触发器(approvalForm)。我想有一种方法,但无法找到最好的文档。我最接近的是TriggerBuilder班级。我尝试用
创建一个与目标表单相关联的var approveScript = ScriptApp.newTrigger('Approval')
.forForm(approvalForm.getId())
.onFormSubmit()
.create();
但无法按照我想要的方式工作。我确实有一个名为Approval的函数,只是为了看看我是否可以用它来操作表单
function Approval(){
$form.setAcceptingResponses(false);
}
任何帮助将不胜感激。提前谢谢。
答案 0 :(得分:0)
该脚本最初是作为容器绑定脚本添加的。将其更改为独立的可安装脚本可解决此问题。希望这个答案将是其他有类似问题的人。