循环内的setvalue命令

时间:2019-05-02 17:50:27

标签: google-apps-script

我正在浏览数据以查找今天的日期。当日期与今天的日期匹配时,它将发送一封电子邮件。我正在尝试将其标记为已发送。我尝试了多种不同的技术,但遇到了麻烦。请注意最后一行-我正在尝试在工作表中指示已发送邮件-因此,再次检查邮件时,它不会重新发送。

主要问题是在循环中使用.setvalue命令

错误:找不到范围

  for (i in data) {
    var row = data[i];
    var row2 = fdata[i];
    var date = new Date();
    var sheetDate = new Date(data[i]);
    Sdate=Utilities.formatDate(date,'GMT+0200','yyyy:MM:dd')
    SsheetDate=Utilities.formatDate(sheetDate,'GMT+0200', 'yyyy:MM:dd')
    Logger.log(Sdate+' =? '+SsheetDate)
    if (Sdate == SsheetDate){
      Logger.log("Yes")
      var emailAddress = "myemail@myemail.com";
      var message = "My Message"; 
      var subject = "\[yes!\]";
      MailApp.sendEmail(emailAddress, subject, "", {htmlBody: message});
      Logger.log('SENT :'+emailAddress+'  '+subject+'  '+message)
    
    \\ This is the line that I am having failure
      sheet.getRange(i).setValue('Notified');
    }    
  }

1 个答案:

答案 0 :(得分:1)

您需要一个坐标地址,不仅是行,还需要行和列。

sheet.getRange(1,i).setValue("Sent")