【问题标题】:How to add script, if the first column is empty do the next row or do nothing?如何添加脚本,如果第一列为空,则执行下一行或什么都不做?
【发布时间】:2020-05-26 05:47:25
【问题描述】:

我正在 Google 表格上列出一个列表。

在 A 列(电子邮件地址)、B 列(电子邮件)和 C 列(防止发送重复电子邮件的脚本)中的位置

我需要的是,每当 A 列为空时,如果 C 列写为“EMAIL_SENT”,则什么也不做,跳过这一行并转到下一行。

enter code here
var EMAIL_SENT = 'EMAIL_SENT';

function sendEmails2() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = 10;

var dataRange = sheet.getRange(startRow, 1, numRows, 3); 

var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[0];
var message = row[1];
var emailSent = row[2];
if (emailSent !== EMAIL_SENT) {
  var subject = 'Customer Melakukan Check Out';
  MailApp.sendEmail(emailAddress, subject, message);
  sheet.getRange(startRow + i, 3).setValue(EMAIL_SENT);

  SpreadsheetApp.flush();
}
}
}

enter code here

关于如何让这样的事情发挥作用的任何想法?

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:
    function sendEmails2() {
      var sheet=SpreadsheetApp.getActiveSheet();
      var startRow=2;
      var numRows=10;
      var dataRange=sheet.getRange(startRow,1,numRows,3); 
      var data=dataRange.getValues();
      for (var i=0;i<data.length;++i) {
        var row=data[i];
        var emailAddress=row[0];
        var message=row[1];
        var emailSent=row[2];
        if (emailSent!="EMAIL_SENT" && emailAddress) {
          var subject='Customer Melakukan Check Out';
          MailApp.sendEmail(emailAddress, subject, message);
          sheet.getRange(startRow + i, 3).setValue("EMAIL_SENT");
          SpreadsheetApp.flush();
        }
      }
    }
    

    在消息中使用 D 列:

    function sendEmails2() {
      var sheet=SpreadsheetApp.getActiveSheet();
      var startRow=2;
      var numRows=10;
      var dataRange=sheet.getRange(startRow,1,numRows,4); 
      var data=dataRange.getValues();
      for (var i=0;i<data.length;++i) {
        var row=data[i];
        var emailAddress=row[0];
        var message=row[1]+row[3];
        var emailSent=row[2];
        if (emailSent!="EMAIL_SENT" && emailAddress) {
          var subject='Customer Melakukan Check Out';
          MailApp.sendEmail(emailAddress, subject, message);
          sheet.getRange(startRow + i, 3).setValue("EMAIL_SENT");
          SpreadsheetApp.flush();
        }
      }
    }
    

    【讨论】:

    • 感谢库珀的帮助。在我之前的脚本中,我将 B 列作为电子邮件消息。是否可以将列添加为电子邮件,例如将 D 列和 D 列也作为电子邮件?
    猜你喜欢
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 2019-05-31
    • 1970-01-01
    相关资源
    最近更新 更多