每当我的谷歌文档发生变化时,我都会收到一封电子邮件。我知道谷歌表单上有一个触发器,但我不知道如何在文档中做到这一点。我在Google Docs Add-On-Edit的这篇文章中看到,可能每60秒更新一次,但不知道它将如何发送电子邮件?
MailApp.sendEmail('somebody@something.com','new edit')
我尝试添加此代码,而不是调用yourfunction((,但什么也没发生。
更新:对不起,我是Java和GAS的初学者,这就是我对代码的了解:
function addTimeStamp(e){
var row= e.range.getRow();
var col= e.range.getColumn();
if (col===1 && row >1 && e.source.getActiveSheet().getName()=== "Sheet1"){
var currentDate=new Date();
e.source.getActiveSheet().getRange(row,4).setValue(currentDate);
if( e.source.getActiveSheet().getRange(row,3).getValue()==""){
e.source.getActiveSheet().getRange(row,3).setValue(currentDate);
}
}
}
因此如果第1行发生变化,它将更新第4行单元格中的日期。但我想要的是检查第一行提到的谷歌文档ID,并通知我该文档发生的任何更改。
这是onEdit()
的文档。
根据您想要监控的文档数量,我可能会建议以下替代方法:
- 在Google Sheets中创建数据库
- 添加您想要观看的Google Doc Id
- 创建一个脚本(在Google Sheets中(,标识数据库中每个Google文档的最后更新日期。然后它应该在文件旁边输出最后更新的日期。在这里,您还可以检查上次更新的日期是否与数据库中的日期相同,如果是,则表示没有任何更改。如果日期不同,则有人已对其进行了更新
关于1,创建一个具有以下标题的表:
- 谷歌文档Id
- 上次更新日期
关于2,添加3个谷歌文档ID,每行一个
关于3,请参阅此处了解如何获取最后更新日期的图纸数据