2013-03-20 83 views
1

我是这个Google脚本的总新手,我一直在玩脚本以显示每个单元格的更新和用户的评论框。在单元格中显示最新修改的评论 - Google电子表格

所以,例如我有列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); 

} 

我有2个问题与此: -

  1. 这完全适用于我,但是当我与纸张其他人, 评论框显示的是更新的日期,但不是用户。
  2. 当某人覆盖已由 脚本更新的单元格时,评论bos不会更新以显示此内容。

在这里你的帮助将非常感激...

让我知道如果你需要更多的信息。预先感谢任何人希望帮助我...

回答

1

固定!

我改变了脚本显示getEffectiveUser而不是getActiveUser和嘿presto它的作品!

:-)

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); 
} 
+0

嗯......怪 我喜欢你的脚本,它的伟大... 纸张已经只有2个其他用户共享,并设置为私有所以不知道为什么它不是不显示编辑过的用户...... 有什么想法? – bh06als 2013-03-22 14:47:47

+0

我相信我明白了这个问题,您试图与位于不同域中的用户共享(它似乎只在同一个域中工作 - 我没有尝试过使用免费的Gmail电子邮件地址)。对不起,但我不知道如何让它在不同的域中工作。 – Harold 2013-03-23 17:02:14

相关问题