为什么我的电子邮件已发送字段写入第 20 行而不是第 2 行
Why is my emailSent field writing to row 20 instead of row 2?
我的代码似乎工作正常,除了第 22 行,该行将"emailSent"值写入脚本运行的 Google 电子表格的第 20 行,而不是该电子表格的第 2 行,这是唯一包含数据的行。有什么想法吗?
function sendEmails2() {
//trying to adopt code from this tutorial https://developers.google.com/apps-script/articles/sending_emails
//-believe there is an issue with where I am declaring getRange to work-
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var lastRow = 40; // Last row of data to process
// Fetch the range of cells A1:B10002
var dataRange = sheet.getRange(startRow, 1, lastRow, 10)
// Fetch values for each row in the Range.
var data = dataRange.getValues();
var i = data.length;
for (i in data) {
var row = data[i];
var emailAddress = row[7]; // raised an error at one point
var isEmailSent = row[9]; //
var partTimeApproved = row[0]
if (partTimeApproved != '') { // prevents sending emails to non-approved rows. for some reason = 'Y' doesn't work but !='' does //... or does it
if (isEmailSent == '') { // Prevents sending duplicates and sending emails to non-approved rows
var subject = "Email Subject Test";
var message = "Email body test"; // Standard string
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 10).setValue('emailSent'); //this didn't work: -replacing startRow + i with row-
// Make sure the cell is updated right away in case the script is interrupted
SpreadsheetApp.flush();
}
}
}
}
我明白,虽然我采用的代码使用
getrange(startRow + i, 10).setValue('emailSent');
但是,我不明白它如何找到第 20 行,并且不确定如何继续修复它。
First
var i = data.length; <-- makes no sense
for (i in data) { <-- since you override i here
而且我不知道数据到底是什么。我假设它是一个带有数字的字符串数组。又名['0','1']
因此,当您期望 2 而得到 20 时,听起来就像您在数字中添加一个字符串
> 2 + "0"
"20"
将其转换为数字。
> 2 + parseInt("0", 10)
2
所以在代码中:
getrange(startRow + parseInt(i, 10), 10).setValue('emailSent');
相关文章:
- 根据部门用户的选择,接收来自多个电子邮件地址的Wordpress Contactform7查询
- 如何格式化match()参数以定位电子邮件中的字符串
- 如何确保通过电子邮件发送的html文档中的Google Drive链接不会被识别为附件
- 获取电子邮件附件的表单元素
- 在MS Dynamics CRM 2013中查找联系人,而不是电子邮件中的帐户
- 如何在不干扰电子邮件通知的情况下将眼镜保存在文本文件中
- 蛋糕PHP电子邮件 - 包括电子邮件中的链接
- 在 Chrome 中打开电子邮件中的网址/链接,而不是默认浏览器 IE8
- 如何防止电子邮件地址的css自动连字符
- javascript和正则表达式以及用于电子邮件验证的filter_var之间的区别
- 有没有办法检测电子邮件地址的假域名?使用Perl、php、javascript
- 带有电子邮件验证的表单的基本代码
- javascript中用于电子邮件验证的Regex
- 使用 Javascript 解析电子邮件源的文本/html 部分
- 用于电子邮件匹配的正则表达式
- 从引导框架发送电子邮件 我的错误是我收到一条消息是邮件已成功发送,但我没有收到任何邮件
- 需要在 PHP 脚本中使用用户的本地时间来发送电子邮件 - 我如何从 JS 中获取数据并在我的 php 中使用它
- 我如何创建一种绕过密码确认和电子邮件确认的方式
- 我该如何解析“某人写了……”电子邮件文本的一部分
- 如何获得所有电子邮件地址的列表谁打开了我的邮件通过mandrill api发送