首页 > 解决方案 > 记录在 Google 电子表格中修改行的用户?

问题描述

我有以下代码在行的最后一个单元格中写入最后编辑日期和时间:

function onEdit(event)
{
  var sheet = event.source.getActiveSheet();

  // Note: actRng = return the last cell of the row modified
  var actRng = event.source.getActiveRange();
  var index = actRng.getRowIndex();
  var cindex = actRng.getColumnIndex();

  // Note: date = return date + time
  // Note: user = return the user email
  var dateCol = sheet.getLastColumn();  
  var lastCell = sheet.getRange(index,dateCol);
  var date = Utilities.formatDate(new Date(), "GMT-0300", "dd-MM-yy HH:mm");

  //var user = event.user;  // Note: event.user will not give you collaborator's Id
  var user = Session.getEffectiveUser();

  // Note: setcomment = Inset a comment with the user email
  // Note: setValue = Insert in the cell the date + time when this row was modified
  lastCell.setValue("'" + date).setComment(user);
}

这也会在最后一个单元格上评论修饰符电子邮件。但是,这只是评论所有者的电子邮件 ID,而不是共享共享对象和进行更改的人的电子邮件 ID。

如何记录最后编辑一行的人的电子邮件 ID?

标签: google-apps-scriptgoogle-sheetstriggers

解决方案


推荐阅读