Google apps script 谷歌循环脚本,如果单元格为0,则从列表发送电子邮件

Google apps script 谷歌循环脚本,如果单元格为0,则从列表发送电子邮件,google-apps-script,google-sheets,Google Apps Script,Google Sheets,列B是我正在测试的值,如果列B的值为0,则列C是我要向其发送电子邮件的电子邮件。该函数运行,但不发送电子邮件 function email() { var ss = SpreadsheetApp.getActive().getSheetByName('email'); var range = ss.getRange('B1:B29'); var email = ss.getRange('C1:C29'); for (var i = 0; i < range.length;

列B是我正在测试的值,如果列B的值为0,则列C是我要向其发送电子邮件的电子邮件。该函数运行,但不发送电子邮件

function email() {
  var ss = SpreadsheetApp.getActive().getSheetByName('email');
  var range = ss.getRange('B1:B29');
  var email = ss.getRange('C1:C29');
  for (var i = 0; i < range.length; i++){
    var recipient = email[i]
    var x = range[i]
    if(x == 0){
      MailApp.sendEmail(recipient,
                    "Fill in Schedule for next Week",
                    "Your Schedule for next week isn't filled out. Please fill this in by Sunday\n https://docs.google.com/spreadsheets/d/1Yo8neePMv5rB-JRvgFOL6SKo83jv-FBoNuldcSynsUY/edit#gid=0 \n(Automated Message)",
                    {noReply:true});
    }

  }
}
功能电子邮件(){
var ss=SpreadsheetApp.getActive().getSheetByName('email');
var range=ss.getRange('B1:B29');
var email=ss.getRange('C1:C29');
对于(变量i=0;i
我想出来了。我只需要使用.getValues()将变量转换为正确的数组

var range = ss.getRange('B1:B29').getValues();
var email = ss.getRange('C1:C29').getValues();

嗯,
range
是类
range
的对象,根据您的代码,它跨越了J列中的多行。也许您想迭代该范围内的数据?我建议您将所需的数据从工作表导入单个JavaScript
数组
,然后迭代该2D数组。执行循环的错误方法是为需要处理的每一行调用一次
getValue()
。我建议您查看API参考,特别注意
范围
类:我看不出您的问题是什么。