Google apps script 在从Google Sheets发送电子邮件之前改善所需的条件
当AJ栏为真时,我想出了一些代码来发送电子邮件。起初它工作得很好,但在我添加了更多的警卫后,它只向第一行发送电子邮件 我想要达到的目标:Google apps script 在从Google Sheets发送电子邮件之前改善所需的条件,google-apps-script,Google Apps Script,当AJ栏为真时,我想出了一些代码来发送电子邮件。起初它工作得很好,但在我添加了更多的警卫后,它只向第一行发送电子邮件 我想要达到的目标: 人们将发送请求,详细信息将显示在“表单响应4”中 我会通过在最后一列中指出TRUE来批准它 我单击一个按钮来运行脚本 具有TRUE的行将数据通过电子邮件发送到与该行关联的电子邮件地址 代码不能完全工作:如果有三个人应该收到电子邮件,只有第一个人会收到电子邮件。我如何修改我的防护,以向行中有TRUE的所有人发送电子邮件 功能测试(){ var ss=Sprea
TRUE
来批准它TRUE
的行将数据通过电子邮件发送到与该行关联的电子邮件地址TRUE
的所有人发送电子邮件
功能测试(){
var ss=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lr=ss.getLastRow();
var targetSheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“表单
答复4“;
对于(var i=2;i您在循环结束之前插入了return(i);。return()在技术上与函数exit()相同,因此您的循环在第一次运行时退出,因此只发送一封电子邮件
我建议你重新审视一下你的返回逻辑(I)在你的循环中插入一行,因为我看不到你是如何使用它的。尝试检查日志或调试你的代码。看起来是因为的条件,如果你的邮件发送代码无法访问。在我尝试调试时,没有任何结果,它只是发送电子邮件。至于日志,它只能访问第一行的信息,这意味着你的代码在第一行无法访问,请检查您的数据和代码。我找不到itso return()的问题。我将return(i)或return放在for循环之后,然后它就工作了。现在我遇到了另一个问题,例如,如果名称的第一个字母是B,它将替换为一个数字或名称的第一个字母丢失。
function testing(){
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lr = ss.getLastRow();
var targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form
Responses 4");
for (var i = 2 ; i <= lr ; i++){
var dpt = targetSheet.getRange(i,4).getValue();
var purpose = targetSheet.getRange(i,5).getValue();
var p = "HR", d = "DMS", r = "RIM";
var check = targetSheet.getRange(i, 36).getValue();
var currentEmail = targetSheet.getRange(i, 2).getValue();
var currentName = targetSheet.getRange(i, 3).getValue();
var remark = targetSheet.getRange(i, 35).getValue();
var qty1 = targetSheet.getRange(i, 7).getValue();
var qty2 = targetSheet.getRange(i, 10).getValue();
var qty3 = targetSheet.getRange(i, 14).getValue();
var qty4 = targetSheet.getRange(i, 17).getValue();
var qty5 = targetSheet.getRange(i, 21).getValue();
var qty6 = targetSheet.getRange(i, 24).getValue();
var qty7 = targetSheet.getRange(i, 26).getValue();
var qty8 = targetSheet.getRange(i, 28).getValue();
var qty9 = targetSheet.getRange(i, 30).getValue();
var qty10 = targetSheet.getRange(i, 32).getValue();
var ap1 = targetSheet.getRange(i, 8).getValue();
var ap2 = targetSheet.getRange(i, 11).getValue();
var ap3 = targetSheet.getRange(i, 15).getValue();
var ap4 = targetSheet.getRange(i, 18).getValue();
var ap5 = targetSheet.getRange(i, 22).getValue();
var ap6 = targetSheet.getRange(i, 25).getValue();
var ap7 = targetSheet.getRange(i, 27).getValue();
var ap8 = targetSheet.getRange(i, 29).getValue();
var ap9 = targetSheet.getRange(i, 31).getValue();
var ap10 = targetSheet.getRange(i, 33).getValue();
var S1 = targetSheet.getRange(i, 6).getValue();
var P1 = targetSheet.getRange(i, 9).getValue();
var S2 = targetSheet.getRange(i, 13).getValue();
var P2 = targetSheet.getRange(i, 16).getValue();
var B = targetSheet.getRange(i, 20).getValue();
var J = targetSheet.getRange(i, 23).getValue();
if (dpt == p){
if (check == true){
var templateText = /* lots of HTML */;
var emailText = templateText.replace("name", currentName)
.replace("purpose", purpose)
/* Several more replacements */
.replace("remark", remark);
MailApp.sendEmail({to: currentEmail, subject: "UPDATES:" + "KIT EXCHANGE REQUISITION FORM", htmlBody: emailText});
}
}
else if (dpt == d){
if (check == true){
var templateText = /* More HTML generation */;
var emailText = templateText.replace("name", currentName)
.replace("purpose", purpose)
/* more replacements */
.replace("remark",remark);
MailApp.sendEmail({to: currentEmail, subject: "UPDATES:" + "KIT EXCHANGE REQUISITION FORM", htmlBody: emailText});
}
}
else if (dpt == r){
if (check == true){
var templateText = /* HTML generation */;
var emailText = templateText.replace("name", currentName)
.replace("purpose", purpose)
/* More replacements */
.replace("remark", remark);
MailApp.sendEmail({to: currentEmail, subject: "UPDATES:" + "KIT EXCHANGE REQUISITION FORM", htmlBody: emailText});
return(i);
}
}
}
}