Google apps script 在谷歌电子表格中更改单元格时发送电子邮件
我正在尝试为谷歌电子表格设置一个脚本,每当M列中的一个单元格被修改为“y”时,该脚本将向特定的人发送电子邮件。我找到了这个剧本, 我正试图修改它以满足我的需要,但我在让它工作时遇到了一个问题。这是我现在的剧本Google apps script 在谷歌电子表格中更改单元格时发送电子邮件,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在尝试为谷歌电子表格设置一个脚本,每当M列中的一个单元格被修改为“y”时,该脚本将向特定的人发送电子邮件。我找到了这个剧本, 我正试图修改它以满足我的需要,但我在让它工作时遇到了一个问题。这是我现在的剧本 function onEdit(e){ Logger.log(e) var ss = SpreadsheetApp.getActiveSpreadsheet(); Logger.log(ss) var sheet = ss.getActiveSheet(); Logge
function onEdit(e){
Logger.log(e)
var ss = SpreadsheetApp.getActiveSpreadsheet();
Logger.log(ss)
var sheet = ss.getActiveSheet();
Logger.log(sheet)
var cell = ss.getActiveCell().getA1Notation();
Logger.log(cell)
var row = sheet.getActiveRange().getRow();
Logger.log(row)
var column = sheet.getActiveRange().getColumn();
Logger.log(column)
var cellvalue = ss.getActiveCell().getValue().toString();
Logger.log(cellvalue)
var recipients = "08cylinders@gmail.com"; //email address will go here
var message = '';
if(cell.indexOf('M')!=-1){
message = sheet.getRange('M'+ sheet.getActiveCell().getRowIndex()).getValue()
}
Logger.log(message)
Logger.log(cell)
var subject = 'Update to '+sheet.getName();
var body = sheet.getName() + ' has been updated. Visit ' + ss.getUrl() + to view the changes on row: ' + row; //New comment: «' + cellvalue + '». For message: «' + message + '»';
MailApp.sendEmail(recipients, subject, body);
}
如果有人知道我错过了什么,我将非常感谢任何帮助
谢谢,
Victor我认为这可能会解决您的活动问题:
function onEdit(e) {
var ssActive = e.source;
var ssActiveRange = ssActive.getActiveRange();
var ssActiveRangeVal = ssActiveRange.getValue();
var ActiveRow = ssActiveRange.getRow(); // if needed to put on body's message
var ActiveColumn = ssActiveRange.getColumn();
if((ssActiveRangeVal=='y' || ssActiveRangeVal=='Y') && ActiveColumn==13){ // ActiveColumn==13 for M
// write down your mail code here
}
}您无法从onEdit触发器发送电子邮件。您需要做的是将编辑内容保存为文档属性,然后设置一个1分钟的基于时间的触发器,以电子邮件形式发送属性内容并刷新队列。Hi。我不太明白你的意思。你能再解释一下吗?谢谢,你好。谢谢你。我尝试了一下,虽然我可以让它手动运行,但如果我设置了触发器,它就不起作用了。你有什么想法吗?