繁体   English   中英

在使用 Google 表格时,我应该使用什么代码来发送 email 在添加一行然后编辑该行时?

[英]While using Google Sheets, what code should I use to send an email when a row has been added and then when that row is edited?

我对编码非常陌生,但是当我们的编程 Google 工作表更新时,我试图自动向 email 某些工作人员添加代码。 email 的实例是: - 添加了新行,表示已将新节目添加到我们的节目中 - 已编辑行,表示已在特定列中添加了新信息用于营销,节目可以 go 发售等.

我已经尝试对一些代码进行 frankensteining 或更改一些样本。 要么代码不起作用(找不到源是一个常见问题),要么它发送 email 每次当我只关心某些列时,工作表上的任何地方都有编辑。

我最接近的是这段代码,但它会为每次编辑发送一个 email。 我只需要添加一行和编辑特定列时。

function SendEmail() {
 var ActiveSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 var StartRow = 4;
 var RowRange = ActiveSheet.getLastRow() - StartRow + 1;
 var WholeRange = ActiveSheet.getRange(StartRow,1,RowRange,5);
 var AllValues = WholeRange.getValues();

 var message = "";
 for (i in AllValues) {
 var CurrentRow = AllValues[i];

 var EmailSent = CurrentRow[5];
 var Sender = CurrentRow[1];

  message =
    "A Show has been added."


  var setRow = parseInt(i) + StartRow;

}


 var SendTo = "myemail.com";

 var Subject = "Show Added on MySheet";

  MailApp.sendEmail({
      to: SendTo,
      subject: Subject,
      htmlBody: message,
});
}

任何帮助深表感谢。 谢谢你。

onEdit(e) {
 const sh=e.range.getSheet();
 if(sh.getName()=='Your sheet name' && e.range.rowStart>3 && 
e.rangeColumnnStart<7) {
   SendEmail();
  }
}

function SendEmail() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getActiveSheet();
  const sr = 4;
  const RowRange = sh.getLastRow() - sr + 1;
  const WholeRange = sh.getRange(sh, 1, RowRange, 6);
  const AllValues = WholeRange.getValues();
  const message = "A Show has been added.";
  const SendTo = "myemail.com";
  const Subject = "Show Added on MySheet";
  for (let i=0;i<AllValues.length;i++) {
    let CurrentRow = AllValues[i];
    let EmailSent = CurrentRow[5];
    let Sender = CurrentRow[1];
    let setRow = parseInt(i) + sr;
    if(CurrentRow[5]!='Sent') {
      MailApp.sendEmail({to: SendTo,subject: Subject,htmlBody: message});
      sh.getRange(i+sr,6).setValue('Sent');
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM