Google apps script 条件电子邮件的谷歌脚本
我正在尝试编写一个脚本,根据模块(即空气、水)将电子邮件发送到不同的地址Google apps script 条件电子邮件的谷歌脚本,google-apps-script,Google Apps Script,我正在尝试编写一个脚本,根据模块(即空气、水)将电子邮件发送到不同的地址 function emailspecialist() { var sheet = SpreadsheetApp.openById("15Om5F29GIlu77rQa4K26QKY_4qeZaF-6F5LRqAXqkFI"); var startRow = 2; var numRows = 1000; var dataRange = sheet.getRange("A1:G1000")
function emailspecialist() {
var sheet = SpreadsheetApp.openById("15Om5F29GIlu77rQa4K26QKY_4qeZaF-6F5LRqAXqkFI");
var startRow = 2;
var numRows = 1000;
var dataRange = sheet.getRange("A1:G1000")
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var module = row[4]
if(module=="Air Quality"){
var email="gooco.pm@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else if(module=="Water Quality"){
var email="cedino.lar@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else if(module=="Chemicals Management"){
var email="santiago.ce@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else if(module=="Wastes Management"){
var email="santiago.ce@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else if(module=="EIA"){
var email="walican.nsw@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else if(module=="Others"){
var email="flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";
}
var requester=row[2];
var group=row[3];
var description=row[5];
var completion=row[6];
MailApp.sendEmail(email, requester, description);
}}
功能emailspecialist(){
风险值表=电子表格应用程序openById(“15Om5F29GIlu77rQa4K26QKY_4qeZaF-6F5LRqAXqkFI”);
var startRow=2;
var numRows=1000;
var dataRange=sheet.getRange(“A1:G1000”)
var data=dataRange.getValues();
对于(变量i=0;i
以下是我到目前为止所做的
希望有人能帮助我。提前感谢如果此脚本是原始脚本,则将发送的邮件数为“A1:G1000”定义的“data.length”。如果要使用“module”的值发送电子邮件,“MailApp.sendmail()”应放在“If”中。那么这个脚本呢
function emailspecialist() {
var sheet = SpreadsheetApp.openById("15Om5F29GIlu77rQa4K26QKY_4qeZaF-6F5LRqAXqkFI");
var startRow = 2;
var numRows = 1000;
var dataRange = sheet.getRange("A1:G1000")
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
if(module=="Air Quality"){
var email="gooco.pm@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else if(module=="Water Quality"){
var email="cedino.lar@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else if(module=="Chemicals Management"){
var email="santiago.ce@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else if(module=="Wastes Management"){
var email="santiago.ce@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else if(module=="EIA"){
var email="walican.nsw@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else if(module=="Others"){
var email="flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else {
var email = "";
}
if (email.length > 0) {
var row = data[i];
var requester = row[2];
var group = row[3];
var module = row[4];
var description = row[5];
var completion = row[6];
MailApp.sendEmail(email, requester, description);
}
}
}
功能emailspecialist(){
风险值表=电子表格应用程序openById(“15Om5F29GIlu77rQa4K26QKY_4qeZaF-6F5LRqAXqkFI”);
var startRow=2;
var numRows=1000;
var dataRange=sheet.getRange(“A1:G1000”)
var data=dataRange.getValues();
对于(变量i=0;i0){
var行=数据[i];
var请求程序=行[2];
var组=第[3]行;
var模块=第[4]行;
变量说明=第[5]行;
var完成=第[6]行;
MailApp.sendEmail(电子邮件、请求者、描述);
}
}
}
我正在尝试设置emailSent功能,以便已通过电子邮件发送的条目不会重复。这是我编辑过的版本,暂时不起作用
function emailspecialist() {
var sheet = SpreadsheetApp.openById("16OxeGOCb7wur4k0qc0dMWbUt_tSvf4elfefZIpqWBSc");
var startRow = 2;
var numRows = 1000;
var dataRange = sheet.getRange("A1:G1000")
var data = dataRange.getValues();
var emailSent = "Email Sent";
for (var i = 0; i < data.length; ++i) {
var module = data[i][4];
if(module=="Air Quality"){
var email="gooco.pm@energy.com.ph";}
else if(module=="Water Quality"){
var email="cedino.lar@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else if(module=="Chemicals Management"){
var email="santiago.ce@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else if(module=="Wastes Management"){
var email="santiago.ce@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else if(module=="EIA"){
var email="walican.ns@energy.com.ph"+","+"flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else if(module=="Others"){
var email="flores.ef@energy.com.ph"+","+"rvjpascual@energy.com.ph";}
else {
var email = "";
}
if (email.length > 0) {
var row = data[i];
var requester = row[2];
var group = row[3];
var description = row[5];
var completion = row[6];
var isEmailSent = row[7];
if (isEmailSent != emailSent) {
MailApp.sendEmail(email, requester, description);
sheet.getRange(startRow + i, 7).setValue(emailSent);
}}
}
}
功能emailspecialist(){
风险值表=电子表格app.openById(“16OxeGOCb7wur4k0qc0dMWbUt_tSvf4elfefZIpqWBSc”);
var startRow=2;
var numRows=1000;
var dataRange=sheet.getRange(“A1:G1000”)
var data=dataRange.getValues();
var emailSent=“Email Sent”;
对于(变量i=0;i0){
var行=数据[i];
var请求程序=行[2];
var组=第[3]行;
变量说明=第[5]行;
var完成=第[6]行;
var isEmailSent=第[7]行;
如果(isEmailSent!=emailSent){
MailApp.sendEmail(电子邮件、请求者、描述);
sheet.getRange(startRow+i,7).setValue(emailSent);
}}
}
}
欢迎使用堆栈溢出!我推荐你,非常感谢。这真的很有帮助。它立刻解决了问题。我在循环中插入了var模块,因此它将根据条件进行识别。顺便问一下,我如何防止重复所有条目?所有条目是什么?我发布了您给我的脚本的修订版本。我正在尝试包含一个emailSent函数这是一个新问题吗?你应该把这个问题,而不是一个答案,因为这并不能解决问题,根据你自己的话。请更具体地说明在这种特殊格式中什么不起作用。到目前为止,对于每一行,您应该发送一次电子邮件,但是如果有多个条目相同,则会触发两次,除非您只允许发送一次电子邮件。在这种情况下,您可以简单地使用一个变量来计算每个地址的电子邮件发送次数。