gpt4 book ai didi

javascript - 如何使用 JavaScript 对 Google 表格中的电子邮件进行分组

转载 作者:行者123 更新时间:2023-11-28 05:30:10 24 4
gpt4 key购买 nike

情况:这是一个约 40 人的小型办公室的休假(或休假)批准/监控系统。他们通过谷歌表格申请休假,该表格(最终)被输入谷歌表格。每月一次,我们需要向每个请假的人发送一封电子邮件,其中包含他们当月所做的所有条目。我已经更改了谷歌的标准 JavaScript,它将从电子表格发送一封电子邮件,但它每行发送一封电子邮件。我需要向每个人发送一封合并电子邮件。在运行脚本之前,电子表格将仅包含具有适用日期的记录,并将按 [电子邮件] 和 [开始日期] 列排序,因此无需在此脚本中执行任何此类工作。

以下是按顺序排列的所有列:时间戳、电子邮件、请求的休假类型、开始日期、最后日期、小时数、可选注释、批准决定、可选说明。

我尝试过创建一个 2D 数组,但我之前对此类数组的尝试仅导致在几秒钟内使用我每天 100 笔的 Google 交易。 :/感谢帮助。

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]);
}

关于javascript - 如何使用 JavaScript 对 Google 表格中的电子邮件进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39757945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com