Triggers 是否可以通过电子表格值发送带有触发器的google表单?

Triggers 是否可以通过电子表格值发送带有触发器的google表单?,triggers,google-apps-script,google-sheets,google-forms,Triggers,Google Apps Script,Google Sheets,Google Forms,是否可以通过电子表格值发送带有触发器的google表单?如果是这样,我会去哪里寻求帮助 我已经创建了一个可以在这里查看的谷歌表单 我希望能够从问题5“你感兴趣的是什么?”中获取答案,并使用它们发送特定的谷歌表单 是否可以通过电子表格值发送带有触发器的google表单?如果是这样,我会去哪里寻求帮助 最好的, Maxwell让我们假设您的“成为成员”表单有一个接收响应的电子表格,并且您将创建一个带有触发器的脚本,该触发器将在响应出现时查看响应。我们将调用触发器onFormSubmit()。您可以选

是否可以通过电子表格值发送带有触发器的google表单?如果是这样,我会去哪里寻求帮助

我已经创建了一个可以在这里查看的谷歌表单

我希望能够从问题5“你感兴趣的是什么?”中获取答案,并使用它们发送特定的谷歌表单

是否可以通过电子表格值发送带有触发器的google表单?如果是这样,我会去哪里寻求帮助

最好的, Maxwell

让我们假设您的“成为成员”表单有一个接收响应的电子表格,并且您将创建一个带有触发器的脚本,该触发器将在响应出现时查看响应。我们将调用触发器
onFormSubmit()
。您可以选择在表单脚本或电子表格脚本中创建此触发器函数-这些容器中的任何一个都可以接收表单响应。此选项将指示
onFormSubmit()
将接收哪个事件-有关详细信息,请参阅

您将创建(或已经拥有)一套针对您兴趣范围的附加谷歌表单。这些表单中的每一个都有一个唯一的id,这就是您将用来获取发送给受访者的表单的URL。有关API的详细信息,请参阅。对于您感兴趣的每个表单,您都需要将唯一的id嵌入到脚本中—当您在表单编辑器中或Live表单中时,该id会显示在URL中

onFormSubmit
中,可以使用表单提交事件读取当前响应的副本。您的问题5是一个
复选框
问题,因此所有选中的答案都将以逗号分隔的字符串传递。(注意不要在问题中使用逗号!)在下面的示例中,我们将
split
ting对问题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
    });
  }
}
函数onFormSubmit(事件){
//将响应放入方便的变量中。
var firstName=event.values[1];//问题1
var lastName=event.values[2];//问题2
var email=event.values[3];//问题3
var allInterests=event.values[5]//问题5,逗号分隔的列表,
.split(“,”);//将其转换为数组
//对所有表达的兴趣进行循环,发送调查
for(所有利益的风险值权益){
sendInterestSurvey(名字、姓氏、电子邮件、所有兴趣[兴趣]);
}
}
/**
*确定与给定调查(兴趣)匹配的表单id,
*并向受访者发送电子邮件。
*/
函数sendInterestSurvey(名字、姓氏、电子邮件、调查){
var surveyFormId=null;//将用适当的调查ID填充
//根据“survey”的当前值设置serveyFormId。
道岔(测量){
案例“成为USD章节的LOT成员”:
surveyFormId='1234567890ABCDEFGHIjklmnopqrstuvxyz';//替换为实际表单ID
打破
案例“在USD的一次商业机会会议(2014年春季)上展示商业理念”:
surveyFormId='1234567890ABCDEFGHIjklmnopqrstuvxyz';//替换为实际表单ID
打破
//等等。。。
违约:
//错误处理,或“其他”
打破
}
//发送带有调查表的任何兴趣的电子邮件
如果(surveyFormId!=null){
var existingForm=FormApp.openById(surveyFormId);
var surveyURL=existingForm.getPublishedUrl();
var surveytile=existingForm.getTitle();
//构建电子邮件正文
var body='亲爱的'+firstName+''+lastName+',

';//亲爱的John Doe, body+=“感谢您填写我们的会员联系信息。

”; body+='您表示对:'+调查感兴趣; body+=',我们想了解更多有关您兴趣的详细信息。

; body+=“请按照完成调查。

”; body+=“谢谢!”; MailApp.sendmail({ 致:电邮:, 主题:调查, htmlBody:body }); } }
您可以更进一步,例如,您可以为预先填写的附加调查版本生成URL,并且已经填写了受访者的姓名