如何获得活跃用户并放置在特定的单元格中?

我对此代码有问题,它可以从脚本编辑器运行并正确写入数据,但是在编辑触发器所在的单元格时,它不会运行,仅对于工作表和脚本的所有者有效有人告诉我为什么会这样吗?

它应该很简单,但无法正常工作。

此外,用户的姓名已添加为联系人。

   var email = Session.getactiveUser().getEmail();
   var fullName = ContactsApp.getcontact(email).getFullName();

function setTimeDateUser() {

  var spreadSheet = Spreadsheetapp.getactiveSheet();
  var activeCell = spreadSheet.getactiveCell();
  var getRow = activeCell.getRow();

  if(activeCell.getcolumn() == 2 ){ 

    var date = activeCell.offset(0,1);      
    date.setvalue(new Date());

    var username = activeCell.offset(0,2);
    username.setvalue(fullName);
  }
}
cobol_12121 回答:如何获得活跃用户并放置在特定的单元格中?

您尝试执行的操作无法按照您想要的方式进行,因为Simple Triggers的文档在其限制中指出:

  

脚本执行和API请求不会导致触发器运行。对于   例如,调用Range.setValue()编辑单元格不会导致   电子表格的onEdit触发器即可运行。

对于Installable Triggers,限制条件为:

  

可安装触发器始终由以下人员负责:   创建了它们。例如,如果您创建一个可安装的打开触发器,   它在您的同事打开文档时运行(如果您的同事有   编辑访问权限),但它以您的帐户身份运行。这意味着,如果您   创建触发器以在打开文档时发送电子邮件,该电子邮件   始终是从您的帐户发送的,不一定是   打开文档。但是,您可以创建一个可安装的触发器   对于每个帐户,这将导致每个帐户发送一封电子邮件   帐户。

有关事件对象的更多信息,可以检查this

本文链接:https://www.f2er.com/3126995.html

大家都在问