如何将用户名添加到进行最后一次修改行的单元格?

时间:2012-10-27 11:54:41

标签: javascript google-apps-script google-sheets

我有一个代码,它将最后一个修改插入到指定单元格中的当前行。我需要在一个单元格中插入时间,并且在下一个单元格中进行更改的用户的名称是否可能?

任何人都可以帮助我吗?感谢。

function onEdit(event) {

  var tsheet = 'Sheet1' ;
  var colspec=[[17,17,18],[15,15,16],[9,9,8]];

  var s = event.source.getActiveSheet();
  var sname = s.getName();
  if (sname == tsheet) {
    var r = event.source.getActiveRange();
    var scol = r.getColumn();
    var i=colspec.length;
    while (i>0) {
      i--;
      if (scol >= colspec[i][0] && scol <= colspec[i][1]) {
        s.getRange(r.getRow(), colspec[i][2]).setValue(new Date());
      }
    }
  }
}

1 个答案:

答案 0 :(得分:3)

以下是我用来跟踪电子表格更改的代码,onEdit()函数是一个简单的触发器,alert()函数是installable onEdit trigger,因为它需要授权。

function onEdit(event){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = event.source.getActiveSheet();
  var r = event.source.getActiveRange();
  r.setComment("Last modified: " + (new Date())+' by '+Session.getActiveUser());
  ss.toast('Dernière cellule modifiée = '+r.getA1Notation()+' par '+Session.getActiveUser());
}

function alert(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var cell = ss.getActiveCell().getA1Notation()
      if(Session.getActiveUser()!='me@mymail.com'){
  MailApp.sendEmail('me@mymail.com', 'Modification dans le planning', 'la case '+cell+' du document a été modifiée par '+Session.getActiveUser());
} 
}