在Cell中显示最近修改的评论 - Google电子表格

时间:2013-03-20 10:38:47

标签: google-apps-script google-sheets

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

所以,例如我在A列中有一个Url列表,我在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不会更新以显示此内容。
  3. 我非常感谢你的帮助......

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

2 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:1)

固定!

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

: - )