通过 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 用户)