如何使用javascript将Google电子表格中的电子邮件分组为
情况:这是一个为40人左右的小型办公室提供的离职(或休假)审批/监控系统。他们通过Google表单提交请求(最终)到Google表单中。每个月一次,我们需要发送一封电子邮件给每一个带走假期的人,其中包含他们为这个月所做的每个条目。我已经改变了标准的JavaScript从谷歌将发送电子邮件从电子表格,但它每行发送一封电子邮件。我需要向每个人发送一个综合电子邮件。在运行脚本之前,电子表格将只包含具有适用日期的记录,并将按[电子邮件]和[开始日期]列进行排序,因此不需要在此脚本中执行任何工作。如何使用javascript将Google电子表格中的电子邮件分组为
以下是按顺序排列的所有列:时间戳,电子邮件,请假类型,开始日期,最后日期,小时数,可选注释,批准决定,可选说明。
我试过创建一个二维数组,但我以前的尝试在这样一个数组只有结果在几秒钟内使用我的100 /天谷歌交易。 :/帮助表示赞赏。
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menu = [{
name: "Send Email",
functionName: "uiSendEmail"
}];
ss.addMenu("Send Email Test", menu);
}
function uiSendEmail() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range = sheet.getDataRange();
range= range.offset(1, 0, range.getNumRows()-1);
range.getValues().forEach(function(cell, key, data){
var body = "Type of Leave - " + cell[2] + "\n\nStarting - " + cell[3] + "\n\nEnding - " + cell[4] + "\n\nHours - " + cell[5] + "\n\nNote Provided - " + cell[6] + "\n\n\n";
// "Type of Leave " + cell[2] \n\n;+ "Starting " + cell[3] \n\n + "Ending " + cell[4] \n\n + "Hours " + cell[5] \n\n + "Note provided " + cell[6]
GmailApp.sendEmail(cell[1], "Recent Requests for Time Off", body);
});
}
您可以创建一个对象,循环访问这些值并将它们添加到相应的电子邮件中。
function uiSendEmail() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range = sheet.getDataRange();
var emails = {};
range= range.offset(1, 0, range.getNumRows()-1);
range.getValues().forEach(function(cell, key, data){
var body = "Type of Leave - " + cell[2] + "\n\nStarting - " + cell[3] + "\n\nEnding - " + cell[4] + "\n\nHours - " + cell[5] + "\n\nNote Provided - " + cell[6] + "\n\n\n";
if(typeof emails[cell[1]] === 'undefined'){
emails[cell[1]] = body;
} else {
emails[cell[1]] += body;
}
});
//Now loop through the email object and send each completed one
for(var address in emails) {
GmailApp.sendEmail(address, "Recent Requests for Time Off", emails[address]);
}
最大G., 完美!做得好。解决长期问题的简单方法。 非常感谢, usmids – usmids
我的荣幸! :) –
从我免费给予好评.. – toha