通过javascript在Google文档上编辑时间戳

时间:2019-03-21 23:02:54

标签: javascript google-docs

我创建了这段代码,以便每当组中的某个人打开Goog​​leDoc时自动更新时间戳

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字符串,而且我不知道为什么。

1 个答案:

答案 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用户)