Checkbox 使用带有附件的google apps脚本发送电子邮件,并将复选框标记为“完成”

Checkbox 使用带有附件的google apps脚本发送电子邮件,并将复选框标记为“完成”,checkbox,google-apps-script,email-attachments,Checkbox,Google Apps Script,Email Attachments,我试图建立一个脚本,将发送电子邮件的基础上的数据在谷歌电子表格 Column 1 - emailAddress Column 2 - subject Column 3 - body Column 4 - signature Column 5 - fileName (name of the file I'd like to attach, will be different in each case) Column 6 - checkbox (new functionality in G Shee

我试图建立一个脚本,将发送电子邮件的基础上的数据在谷歌电子表格

Column 1 - emailAddress
Column 2 - subject
Column 3 - body
Column 4 - signature
Column 5 - fileName (name of the file I'd like to attach, will be different in each case)
Column 6 - checkbox (new functionality in G Sheets, marked= TRUE, unmarked=FALSE).
目的是只向未标记为已发送的邮件发送电子邮件。脚本完成后,复选框应更改为TRUE以避免重复。 我写了以下脚本,但有两个问题:

  • 如何生成一个文件名变量值,该值将从第5列开始编码
  • 如何强制程序将复选框的状态更改为TRUE并忽略那些已经为TRUE的复选框
职能:

function Email() {
  var rng = SpreadsheetApp.getActiveSheet().getActiveRange()
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = rng.getValues();
  for (i in data)  
    {
    var rowData = data[i];
    var checkbox = data[5]
    var file = DriveApp.getFilesByName(data[4]) 
    var emailAddress = rowData[0];
    var body = rowData[2];
    var subject = rowData[1]; 
    var signature = rowData[3];
    var message = body + '\n\n'+ signature;
      if(checkbox is != 'TRUE')
      {
      GmailApp.sendEmail(emailAddress,subject,message, 
      {
        attachments: [file.next().getAs(MimeType.PDF)]
      }
      );
    cell.setValue("TRUE");
    }
    }
}

如何生成文件名变量值,并从第5列开始编码?

创建变量var fileName。出于唯一性目的,只需在1、2等末尾添加一个计数器,使其看起来像fileName1、fileName2等

如何强制程序将复选框的状态更改为TRUE并忽略已为TRUE的复选框?

使用double for循环,因为使用图纸与使用类似。在创建if语句的内部:

如果(is!=“TRUE”){

单元格(“真”)

}


希望你能从伪代码中得到这个想法。

你好,noogui,谢谢你的快速回答,但是我仍然有代码方面的问题。你能检查一下,告诉我怎么解决吗?1) 缺失)后状态。(第15行,文件“代码”)2)附件的名称存储在单元格数据[4]中。我怎么能提到这一点?我更改了上面的代码。你能看看这个吗?