【问题标题】:Google Script to email form answers and questions to a user将表单答案和问题通过电子邮件发送给用户的 Google 脚本
【发布时间】:2013-04-30 07:23:49
【问题描述】:

我正在尝试制作一个简单的脚本,向通过 Google 表单填写调查的用户发送电子邮件。

他们将参加调查,答案记录在电子表格中,此脚本将通过电子邮件向他们发送一份问题副本(标题)以及他们的答案(应该是表格的最后一行。)

它发送到的电子邮件将是最后一列,不包含在电子邮件中。

这是我正在编写的脚本:

function sendFormByEmail(e) {

 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var s = ss.getActiveSheet();

 var emailSubject = "EMAIL-SUBJECT-HERE";  
 var yourEmail    = "CURRENTLY-JUST-A-STATIC-EMAIL-ADDRESS"; //get this from a field.value then just cut off that field from being included in the email (just do column-1)...


 var headers = headersRange.getValues()[0];  //google api to get the header values.

 var lastRow = s.getLastRow();

 var message += headers.toString();
 message += (headersRange.getValue()[last]).toString(); //should get the last row of data?

  MailApp.sendEmail(yourEmail, emailSubject, message); 
}

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    添加一个在提交表单时执行的触发器,并将此函数附加到您的触发器。
    在您的代码中,您可以在代码中使用e.values[] 来引用用户提交的值。这样您就不必阅读电子表格了

    function  sendFormByEmail(e) {
      var email = e.values[0];  // assuming 1st field is email
      var firstName = e.values[1]; // assuming 2nd field is first name
      ...
    
    }
    

    【讨论】:

      【解决方案2】:

      您可能会发现很难阅读一封电子邮件的结果,其中所有问题都在一行中,而所有答案都在另一行中。

      一次遍历标题和表单值很容易,如果您愿意,只需跳过电子邮件地址。

      function sendFormByEmail(e) {
      
        var emailSubject = "EMAIL-SUBJECT-HERE";  
        var emailQ = 1;  // Column number with email address
      
        var headers = SpreadsheetApp.getActiveSheet().getDataRange().getValues()[0];  //google api to get the header values.
      
        var message = "Your survey responses:\n\n";
      
        // Print Questions & Answers in pairs
        for (i=0; i < headers.length; i++) {
          if (i == emailQ) continue; // skip email address
          message += headers[i]+"\n"
                   + e.values[i]+"\n\n";
        }
      
        MailApp.sendEmail(e.values[emailQ], emailSubject, message); 
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-15
        • 2011-04-09
        • 1970-01-01
        • 2013-08-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-25
        相关资源
        最近更新 更多