email - 跳过数据的条件未按预期工作
问题描述
大家好,我从以前的帖子中复制了这个,并根据我的需要进行了匹配。当“已发送”一词在第 10 列时,我无法阻止它发送整个列表。此时,我对编码的混乱程度超出了我的预期,并且感觉它变得混乱了。
有人可以看看它,看看缺少什么吗?
它会发送电子邮件并做我需要的一切,但到目前为止,它只发送所有数据行,无论是否Sent
在列中。
function sendEmails2() {
//setup function
var ActiveSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var StartRow = 2;
var RowRange = ActiveSheet.getLastRow() - StartRow + 1;
var WholeRange = ActiveSheet.getRange(StartRow,1,RowRange,11);
var AllValues = WholeRange.getValues();
var message = "";
//iterate loop
for (i in AllValues) {
//set current row
var CurrentRow = AllValues[i];
//define column to check if sent
var EmailSent = CurrentRow[10];
//if row has been sent, then continue to next iteration
if (EmailSent == "sent")
continue;
//set HTML template for information
message +=
"<p><b>Sales Rep: </b>" + CurrentRow[0] + "</p>" +
"<p><b>Case ID: </b>" + CurrentRow[1] + "</p>" +
"<p><b>Name: </b>" + CurrentRow[2] + "</p>" +
"<p><b>Signing Date: </b>" + CurrentRow[3] + "</p>" +
"<p><b>Draft Date: </b>" + CurrentRow[4] + "</p>" +
"<p><b>Sign to Draft: </b>" + CurrentRow[5] + "</p>" +
"<p><b>Enrolled Debt: </b>" + CurrentRow[6] + "</p><br><br>";
//set the row to look at
var setRow = parseInt(i) + StartRow;
//mark row as "sent"
ActiveSheet.getRange(setRow, 10).setValue("sent");
}
//define who to send email to
var SendTo = "my email address" + "," + "";
//set subject line
var Subject = "NEW DEAL CLOSED";
//send the actual email
MailApp.sendEmail({
to: SendTo,
cc: "",
subject: Subject,
htmlBody: message,
});
}
解决方案
var EmailSent = CurrentRow[10] 中存在错误,其中实际考虑的列在 11 中。当从工作表中获取整个数据范围时,列索引从 0 开始,因此第 10 列要采用的实际索引应该是 9
//define column to check if sent
var EmailSent = CurrentRow[9];
推荐阅读
- arrays - 如何检查我的 Object PersistantCollection 中是否存在值?
- angular - 角度:为什么值更改(使用渲染器2)不会触发绑定到该的事件
- typescript - 共享自定义 NestJS 模块给出“不是当前处理模块的一部分”错误
- python - 子类未在 Python 2.x 中初始化父类
- python - 直方图给出了概率密度函数的奇怪值
- java - 如何在日志文本上将 OrderId 显示为 Log4j 模式布局
- android - 改造 - 处理刷新令牌过期
- ios - 更改语义内容属性后 UI 挂起
- android - Android - 单元测试以检查光标是否已关闭
- python - 如何修复“由于 EnvironmentError:HTTPSConnectionPool 无法安装软件包”错误?