是否可以发送带有电子表格值触发器的谷歌表单?如果是这样,我该去哪里寻求帮助?
我创建了一个谷歌表单,可以在这里查看http://www.leadersoftomorrowisn.org/Become_a_Member.html
我希望能够从问题 5“你对什么感兴趣?”中得到答案。并使用它们发送特定的谷歌表格。
是否可以发送带有电子表格值触发器的谷歌表单?如果是这样,我该去哪里寻求帮助?
最好的,麦克斯韦
是否可以发送带有电子表格值触发器的谷歌表单?如果是这样,我该去哪里寻求帮助?
我创建了一个谷歌表单,可以在这里查看http://www.leadersoftomorrowisn.org/Become_a_Member.html
我希望能够从问题 5“你对什么感兴趣?”中得到答案。并使用它们发送特定的谷歌表格。
是否可以发送带有电子表格值触发器的谷歌表单?如果是这样,我该去哪里寻求帮助?
最好的,麦克斯韦
假设您的成为会员表单有一个接收响应的电子表格,并且您将创建一个带有表单响应触发器的脚本,该触发器将在响应出现时对其进行审查。我们称之为触发器onFormSubmit()
。您可以选择创建包含在表单脚本或电子表格脚本中的触发函数 - 这些容器中的任何一个都可以接收表单响应。该选择将决定哪个事件将被接收onFormSubmit()
- 请参阅了解事件了解详细信息。
您将针对兴趣范围创建(或已经拥有)一组额外的 Google 表单。这些表单中的每一个都有一个唯一的 ID,您将使用它来获取您将发送给受访者的表单的 URL。有关 API 详细信息,请参阅Class FormApp。对于您的每个兴趣表单,您需要将唯一 ID 嵌入到脚本中 - 当您在表单编辑器或 Live Form 中时,该 ID 会出现在 URL 中。
在onFormSubmit
中,您可以使用表单提交事件来读取当前响应的副本。您的问题 5 是一个checkBox
问题,因此所有选中的答案都将以逗号分隔的字符串形式提供。(注意不要在您的问题中使用逗号!)在下面的示例中,我们正在split
对问题 5 的响应进行响应以获得一系列兴趣,然后发送电子邮件链接到基于这些兴趣的其他调查。它非常粗糙,并且与您的表单非常紧密地结合在一起,但它应该可以解决问题。
function onFormSubmit(event) {
// Get the responses into convenient variables.
var firstName = event.values[1]; // Question 1
var lastName = event.values[2]; // Question 2
var email = event.values[3]; // Question 3
var allInterests = event.values[5] // Question 5, a comma-separated list,
.split(','); // which we turn into an array
// Loop over all expressed interests, sending surveys
for (var interest in allInterests) {
sendInterestSurvey( firstName, lastName, email, allInterests[interest] );
}
}
/**
* Determine the id for a form that matches the given survey (interest),
* and send an email to the respondent.
*/
function sendInterestSurvey( firstName, lastName, email, survey ) {
var surveyFormId = null; // Will fill with appropriate survey ID
// Set serveyFormId according to current value of 'survey'.
switch (survey) {
case "Becoming an LOT Member of the USD Chapter":
surveyFormId = '1234567890abcdefghijklmnopqrstuvwxyz'; // Replace with real form ID
break;
case "Presenting a business idea at one of USD's Business Opportunity Meetings (Spring 2014)":
surveyFormId = '1234567890abcdefghijklmnopqrstuvwxyz'; // Replace with real form ID
break;
// and so on...
default:
// Error handling, or for "other"
break;
}
// Send an email for any interest with a survey form
if (surveyFormId != null) {
var existingForm = FormApp.openById(surveyFormId);
var surveyURL = existingForm.getPublishedUrl();
var surveyTitle = existingForm.getTitle();
// Build Email Body
var body = 'Dear '+firstName+' '+lastName+',<br><br>'; // Dear John Doe,
body += 'Thanks for completing our Member Contact Information.<br><br>';
body += 'You expressed an interest in: ' + survey;
body += ', and we would like to get more details about your interest.<br><br>';
body += 'Please follow <a href="' +surveyURL+ '">this link</a> to complete the survey.<br><br>';
body += 'Thank you!';
MailApp.sendEmail({
to: email,
subject: surveyTitle,
htmlBody: body
});
}
}
您可以更进一步,例如,您可以为附加调查的预填版本生成一个 URL,其中已经填写了受访者的姓名。