繁体   English   中英

如何获得通过电子邮件发送到Google表单中的数据?

[英]How can I get the data entered into a Google Form emailed to me?

我对在网上找到的Google脚本进行了一些修改,但是不知道如何编写如此出色的脚本,因此我确定这里缺少一些内容。

我的目标是将所有信息通过Google表单提交,然后通过电子邮件发送给我或我将创建的网上论坛。

此脚本的确向我发送了相关信息,但全部都添加为一行,甚至没有提及问题。

我是个新手,但是我敢肯定,可以通过某种我不知道的命令或事件来解决。

看一看:

var EMAIL_SENT = "EMAIL_SENT";

function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;  // First column of data to process
var numRow = 1;   // Number of columns to process
var dataRange = sheet.getRange(startRow, 1, numRow, 10)
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var message1 = row[1,2,3,4,5];
var message2 = row[2];
var message3 = row[3];
var message4 = row[4];
var message5 = row[5];
var message6 = row[6];
var message7 = row[7];
var message8 = row[8];// Second column
var emailSent = row[10]
 if (emailSent != EMAIL_SENT) {  // Prevents sending duplicates
  var subject = "New Hire On The Way!";
MailApp.sendEmail("itgroup@mycompany.com",subject,message1+message2+message3+message4+message5+message6);
  sheet.getRange(startRow + i, 10).setValue(EMAIL_SENT);
}
}
}

整个“ EMAIL_SENT”是我试图让脚本不重新发送已输入的信息。

如果有更好的方法,我很想听听。

非常感谢!

您可以在响应表中将此函数设置为onFormSubmit的触发器。

来源: 通过电子邮件获取Google表单数据

function SendGoogleForm(e) { 

    var email = Session.getActiveUser().getEmail();
    var subject = "Google Docs Form Submitted";  

    var s = SpreadsheetApp.getActiveSheet();
    var columns = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];    
    var message = "";    

    for ( var keys in columns ) 
      message += columns[keys] + ' :: '+ e.namedValues[columns[keys]] + "\n\n"; 

    MailApp.sendEmail(email, subject, message); 

}

如果您只是希望电子邮件具有更多结构,则可以将html添加到各个邮件中。 取决于您想要获得的疯狂程度取决于您。 这是一个简单的更改,您可以尝试更改它的结构。 将其替换为您的if语句

if (emailSent != EMAIL_SENT) {  // Prevents sending duplicates
 var subject = "New Hire On The Way!";
MailApp.sendEmail("itgroup@mycompany.com",subject,message1+"<br />"+"<br />"+"<br />"+message2+"<br />"+"<br />"+"<br />"+message3+"<br />"+"<br />"+"<br />"+message4+"<br />"+"<br />"+"<br />"+message5+"<br />"+"<br />"+"<br />"+message6+"<br />"+"<br />"+"<br />");
 sheet.getRange(startRow + i, 10).setValue(EMAIL_SENT);

}

我在这里所做的只是在您的消息之间添加中断。 这应该创建一些空间。 您总是可以内联css和html疯狂。 对于初学者来说, www.w3schools.com始终是一个不错的起点。 祝您好运,编码愉快!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM