真的觉得我的思念与电子表格的对象脚本的东西。
我试图通过电子邮件自动合作者onEdit。 我成功发送时明确runnign脚本测试,但onEdit事件似乎永远不会被炒鱿鱼(没有看到日志消息偶数)。 脚本似乎很简单。
function onEdit(e) {
var sheet = e.source;
var viewers = sheet.getViewers();
var ct = viewers.length;
var recipients = [];
for(var i=0;i<ct;i++){
recipients.push(viewers[i].getEmail());
};
var subject = 'Update to '+sheet.getName();
var body = sheet.getName() + ' has been updated. Visit ' + sheet.getUrl() + ' to view the changes ' + e.range;
Logger.log('Running onedit');
MailApp.sendEmail(recipients, subject, body);
};
简单onEdit功能都有一套非常有限的可能采取的行动,因为它在运行时的潜在用户的授权。 你必须创建另一个功能,并设定具体的触发此功能。(可安装触发)
见这个职位作为一个例子。 它表明这是在解释简单onEdit和安装编辑(电子邮件发送)的实例文档在这里 。
编辑:这里是你的代码的工作:
function sendAlert() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var cell = ss.getActiveCell().getA1Notation()
var viewers = ss.getViewers();
var ct = viewers.length;
var recipients = [];
for(var i=0;i<ct;i++){
recipients.push(viewers[i].getEmail());
};
var subject = 'Update to '+sheet.getName();
var body = sheet.getName() + ' has been updated. Visit ' + ss.getUrl() + ' to view the changes on cell ' + cell;
MailApp.sendEmail(recipients, subject, body);
};