通过 javascript 在 google 文档上编辑时间戳
editing timestamp on google doc through javascript
我创建了这段代码,以便在我组中的某个人打开 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 字符串,我不知道为什么。
userName
变量设置不正确。
你应该替换 :
var userName = Logger.log(Session.getActiveUser().getEmail())
作者:
var userName = Session.getActiveUser().getEmail()
我可以建议您进行一项改进,也许还有另一种替代解决方案吗?
改进:
从电子邮件中提取用户(xxx,yyy ...)的登录名,然后避免使用 switch 指令。它将确保在不更改代码的情况下与新用户一起发展。
备选方案:
Drive audit log, and Activity dashboard
(当然,前提是你是 GSuite Business 用户)
我创建了这段代码,以便在我组中的某个人打开 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 字符串,我不知道为什么。
userName
变量设置不正确。
你应该替换 :
var userName = Logger.log(Session.getActiveUser().getEmail())
作者:
var userName = Session.getActiveUser().getEmail()
我可以建议您进行一项改进,也许还有另一种替代解决方案吗?
改进: 从电子邮件中提取用户(xxx,yyy ...)的登录名,然后避免使用 switch 指令。它将确保在不更改代码的情况下与新用户一起发展。
备选方案: Drive audit log, and Activity dashboard (当然,前提是你是 GSuite Business 用户)