我创建了这段代码,以便每当组中的某个人打开GoogleDoc时自动更新时间戳
function onOpen() {
var doc = DocumentApp.getActiveDocument();
var userName = Logger.log(Session.getActiveUser().getEmail())
var date = Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy")
var body = doc.getBody();
switch (userName){
case "xxx@gmail.com":
body.replaceText("xxx.*$", "xxx" + date);
break;
case "yyy@gmail.com":
body.replaceText("yyy.*$", "yyy" + date);
break;
case "zzz@@gmail.com":
body.replaceText("zzz.*$", "zzz" + date);
break;
}
}
但是我不能完全运行我使用xxx作为我自己的地址的代码,但是它不会覆盖文档中的xxx字符串,而且我不知道为什么。
答案 0 :(得分:0)
userName
变量未正确设置。
您应该替换:
var userName = Logger.log(Session.getActiveUser().getEmail())
通过:
var userName = Session.getActiveUser().getEmail()
我可以建议您一种改进,也许是另一种替代解决方案?
改进: 从电子邮件中提取用户(xxx,yyy ...)的登录名,然后避免使用切换指令。它将确保在不更改代码的情况下与新用户一起发展。
替代解决方案: Drive audit log, and Activity dashboard (当然,只有您是GSuite Business用户)