0

指定されたセルの現在の行に最後の変更を挿入するコードがあります。そして、あるセルに時間を挿入する必要があり、次のセルに変更を加えたユーザーの名前を挿入することは可能ですか?

誰でも私を助けることができますか?ありがとう。

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());
      }
    }
  }
}
4

1 に答える 1

4

これは、スプレッドシートの変更を追跡するために使用するコードです。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());
} 
}
于 2012-10-27T12:29:47.897 に答える