需要谷歌脚本的帮助。我有多行电子表格。
需要一个执行以下操作的脚本:
如果 G 列中的任何单元格已更改,则向自定义地址发送电子邮件通知,其中包含此行中的信息:来自单元格 D 的信息和单元格 G 的新值。
UPD
我找到了有用的信息:
function emailNotification() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var cell = ss.getActiveCell().getA1Notation();
var cellvalue = ss.getActiveCell().getValue().toString();
var recipient = "me@gmail.com";
var subject = 'Update to '+sheet.getName();
var body = sheet.getName() + ' has been updated. Visit ' + ss.getUrl() + ' to view the changes on cell: «' + cell + '» New cell value: «' + cellvalue + '»';
MailApp.sendEmail(recipient, subject, body);
};
此脚本跟踪整个表中的更改。而且我想只在G列中跟踪变化,并从D列中获取值。
问题:
当值已更改 G 列中的单元格时,如何获取 D 列中的单元格的值
最后脚本 - 回答我的问题
function sendNotification() {
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 = "me@gmail.com";
var message = '';
if(cell.indexOf('G')!=-1){
message = sheet.getRange('D'+ sheet.getActiveCell().getRowIndex()).getValue()
}
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);
};
在 onEdit 上设置触发器,脚本将正常工作