谷歌文档更新时,如何向现任经理发送电子邮件



这个想法是,当用新行(例如客户端ID(更新的谷歌文档向该客户端的经理发送一封信时。在我的文档中,我有列"客户ID"(1列(和"电子邮件"(13列(。这是我正在使用的代码:

function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 9 // First row of data to process
var numRows = sheet.getRange(13,9).getValue(); // Number of rows to process is set by a formula 
which counts rows COLUMN/ROW
var dataRange = sheet.getRange(startRow, 9, numRows, 1);
var data = dataRange.getValues();
for (var i in data) {
var row = data[i];
var emailAddress = row[13];
var message = 'New client';
var subject = 'Check';
MailApp.sendEmail(emailAddress, subject, message);

但是这个代码不起作用,而且它也不会发送带有更新的电子邮件。我可以更改什么来解决这个问题
我是编程新手,请帮忙。

说明:

根据您的评论和描述,您希望在用户填写特定行时发送电子邮件。

如果是这种情况,您需要一个可安装的onEdit触发器。要设置一个可安装的触发器,你可以在谷歌上搜索,也可以看到这篇文章,但你可以找到相关的资源。

  • 当您从8th行开始在M列(13th列(中添加电子邮件时,以下脚本将发送电子邮件。

  • 我建议的方法是创建一个复选框,这样当用户勾选该复选框时,就会发送电子邮件。但这取决于你。

解决方案:

function onEditEmail(e){
const ss = e.source;
const ar = e.range;
const shn = "Sheet1"; // put the sheet name of your choice
const as = ss.getActiveSheet(); 
const row = ar.getRow();
const col = ar.getColumn();
if (as.getName()==shn && row>8 && col == 13){
const emailAddress = ar.getValue();
const message = 'New client';
const subject = 'Check';
MailApp.sendEmail(emailAddress, subject, message);   
}
}

只有当您为onEditEmail(e)创建一个可安装的触发器,并仔细阅读我提供的解释以使其工作时,这才会起作用。

相关内容

  • 没有找到相关文章

最新更新