1

我是这个谷歌脚本的新手,我一直在玩一个脚本,以便为每个更新的单元格和哪个用户显示一个评论框。

因此,例如,我在 A 列中有一个 Urls 列表,并且在 b、c、d、e、f 列中有各种任务。

任务完成后,我希望完成任务的人用简单的“是”(甚至是下拉选择/复选框)更新工作表。完成后,我希望创建/更新一条评论,说明更新该特定单元格的日期和用户。

我目前使用的脚本是这样的: -

function onEdit(e)

{ 
  // Get all information, Cell, Date, User

  var sheet = event.source.getActiveSheet();

  var cell = event.source.getActiveRange();

  var date = Utilities.formatDate(new Date(), "GMT", "dd-MM-yyyy");

  var user = Session.getActiveUser().getUserLoginId();

  //Write to Cell Comment

  cell.setComment(date + " User:" + user);

}

我有两个问题: -

  1. 这完全适合我,但是当我与其他人共享工作表时,评论框显示的是更新日期,而不是用户。
  2. 当有人在已被脚本更新的单元格中覆盖时,评论 bos 不会更新以显示这一点。

您在这里的帮助将不胜感激......

如果您需要更多信息,请与我们联系。提前感谢任何希望帮助我的人...

4

2 回答 2

1

我使用相同的功能,它对我来说非常有用(我总是检索用户名)。您可能会遇到问题,因为您的电子表格可供匿名用户使用。

如果有人覆盖了一个单元格,更新评论是正常的,你可以做的是检索以前的评论并将其与新评论相加。这是我的代码:

function onEdit(event)
{
  var r = event.source.getActiveRange();
  var comment = r.getComment().replace("Last modified by: ","previously modified by");
  r.setComment("Last modified by: " +Session.getActiveUser().getEmail()+" on: "+(new Date())+comment);
}
于 2013-03-21T12:53:16.087 回答
1

固定的!

我更改了脚本以显示 getEffectiveUser 而不是 getActiveUser ,嘿,它工作正常!!

:-)

于 2013-03-22T15:22:11.340 回答