本文介绍了自动标记对Google工作表进行更改的用户名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Google工作表,我想要自动标记上次更改特定行的人的用户名。我目前有这个代码可以工作,因为我喜欢用时间做相同的函数:

function onEdit() {
  var s = SpreadsheetApp.getActiveSheet();
  var r = s.getActiveCell();
  if( r.getColumn() != 2 ) { //checks the column
    var row = r.getRow();
    var time = new Date();
    time = Utilities.formatDate(time, "GMT-07:00", "yyyy-MM-dd, hh:mm:ss");
    SpreadsheetApp.getActiveSheet().getRange('G' + row.toString()).setValue(time);
  };
 };

假设这有点接近我对用户名的要求,我尝试使用以下命令:

function onEdit() {
  var s = SpreadsheetApp.getActiveSheet();
  var r = s.getActiveCell();
  if( r.getColumn() != 2 ) { //checks the column
    var row = r.getRow();
    var time = new Date();
    time = Utilities.formatDate(time, "GMT-07:00", "yyyy-MM-dd, hh:mm:ss");
    SpreadsheetApp.getActiveSheet().getRange('H' + row.toString()).setValue(Session.getActiveUser);
  };
 };

但这会产生一些奇怪的命令,而这些命令显然是失效的。

如何执行此操作?

这是我正在处理的工作表:https://docs.google.com/spreadsheets/d/1VifU8AJWuPn53-_JCQKbPTjHxKDArkyG0G7zt1wzmPg/edit?usp=sharing

推荐答案

这是您要尝试的操作吗?

function onEdit(e) {
  var r = e.range;
  if( r.getColumn() != 2 ) { //checks the column
    var time = new Date();
    time = Utilities.formatDate(time, "GMT-07:00", "yyyy-MM-dd, hh:mm:ss");
    SpreadsheetApp.getActiveSheet().getRange(r.getRow(),8).setValue(Session.getActiveUser().getEmail());
  }
 }

这篇关于自动标记对Google工作表进行更改的用户名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-03 12:13