我对我在网上找到的Google Script做了一些修改,但不知道如何编写脚本,我相信我在这里遗漏了一些东西。
我的目标是通过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”是我尝试让脚本不重新发送已输入的信息。
如果有更好的方法,我很乐意听到它。
非常感谢你!
答案 0 :(得分:1)
您可以在响应表中将此功能设置为onFormSubmit的触发器。
来源:Get Google Forms data in an Email Messages
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);
}
答案 1 :(得分:0)
如果您只是希望电子邮件具有更多结构,您只需将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始终是初学者的好地方。祝你好运,编码愉快!