繁体   English   中英

从单元格值Google工作表发送电子邮件,以及电子邮件中的其他列

[英]Send email from cell value google sheet, with other columns in email

很抱歉,我已经问过几次了,这是我从其他问题中学到的,但是我仍然很困惑,不确定如何继续。

我正在尝试制作一个Google脚本,根据单元格更改将电子邮件通知发送给一个以上的人,同时在同一行中向电子邮件发送多个单元格值?

例如,如果“ C”列发生更改,是否可以发送电子邮件,其中包含“ C”列更改的同一行中“ A”列和“ B”列的数据?

这是我一直在尝试使用的脚本,但不确定如何添加多封电子邮件以及另外两个单元格中的值。

function sendNotifications() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var cell = ss.getActiveCell().getA1Notation();
var row = sheet.getActiveRange().getRow();
var cellvalue = ss.getActiveCell().getValue().toString();
var recipients = email@domain.com";
var message = '';
var cellA = ''
if(cell.indexOf('B')!=-1){ 
message = sheet.getRange('A'+ sheet.getActiveCell().getRowIndex()).getValue()
}
var subject = 'Update to '+sheet.getName();
var body = + cellvalue + '». For message: «' + message + '»';
MailApp.sendEmail(recipients, subject, body);
};

下面的代码检查是否已编辑的单元格位于C列中,如果满足条件,则从已编辑的行中获取A列和B列的值。 在Google Apps脚本中,onEdit()是内置函数,当您在电子表格中进行更改时会自动触发。 “ e”参数表示事件对象,您可以检查该事件对象以获取有关事件发生的上下文的更多详细信息

function onEdit(e){

  var editRange = e.range; // e is the event object generated by the Edit event
  var editRow = editRange.getRow();   // get row and column for the edited cell
  var editCol = editRange.getColumn();


  var sheet = SpreadsheetApp.getActiveSpreadsheet()
                            .getSheetByName("Sheet1"); // put your sheet name between the brackets

  if (editCol == 3) {   // checking if the edited cell was in column C

      var range = sheet.getRange(editRow, 1, 1, editCol - 1); // Take 1st cell in the edited row and make it span 1 row and 2 columns
      var values = range.getValues(); // get values array for the range
      Logger.log(values);

  }

}

结果变量(“值”)是一个数组,因此必须遍历它才能获取字符串值。 至于电子邮件,您可以将多个电子邮件存储在一个单元格中,并以逗号分隔。 在字符串上调用split()方法将获得一个值(电子邮件)数组,然后可以将其作为第一个参数传递给sendEmail方法。

  var cellValue = "email@example.com,anotheremail@example.com,yetanotheremail@example.com";
  var recipients = cellValue.split(",");  
  MailApp.sendEmail(recipients, "From google-apps-script", "hello from google apps script")

暂无
暂无

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

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