【问题标题】:Trying to pull user email when they check a checkbox当他们选中复选框时尝试提取用户电子邮件
【发布时间】:2020-12-23 09:11:32
【问题描述】:

当活跃用户选中一个框时,我试图提取他们的电子邮件。我希望将活动用户的电子邮件粘贴到单独的列中(当前相邻,但灵活的能力会很好)。我以前在另一个工作表中做过这个,但由于某种原因,我无法让它在这个工作表上工作。我可以让它粘贴一个简单的变量,甚至是编辑日期,所以我认为用户肯定有一些错误。我在具有公司地址的工作拥有域上,但另一张工作表也是如此。无论如何,这是我目前拥有的(成熟,温柔):

function onEditAdded(e) {
  var activeSheet = e.source.getActiveSheet();
  if (activeSheet.getName() == "New Hires") {
    var aCell = e.source.getActiveCell(), col = aCell.getColumn();
    if (col == 20) {
      var dateCell = aCell.offset(0,1);
      if (aCell.getValue() === true) {
        var email = Session.getActiveUser().getEmail();
          Logger.log(email);
        dateCell.setValue(email);
      } else {
        dateCell.setValue("");
      }
    }
  }
}

【问题讨论】:

  • aCell.getValue() === true 确定 getValue 返回的是布尔值而不是字符串“true”?此外,我发现在调试时在代码中插入 console.log("here") 行很有帮助,这样您就可以查看代码是否到达某一行。我认为 aCell.getValue() === true 总是错误的。但我不确定。

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


【解决方案1】:

我测试了您的代码,它应该可以正常运行。 您只需将其添加为Installable Triggers

手动创建可安装触发器:

  • 打开您的 Apps 脚本项目。
  • 点击触发警报。
  • 点击右下角的添加触发器。
  • 选择并配置您要创建的触发器类型。
  • 点击保存。

function onEditAdded(e) {
  var activeSheet = e.source.getActiveSheet();
  if (activeSheet.getName() == "New Hires") {
    var aCell = e.source.getActiveCell(), col = aCell.getColumn();
    if (col == 1) {
      var dateCell = aCell.offset(0,1);
      if (aCell.getValue() === true) {
        var email = Session.getActiveUser().getEmail();
          Logger.log(email);
        dateCell.setValue('user@example.com');
      } else {
        dateCell.setValue("");
      }
    }
  }
}

输出:

您还可以探索如何以编程方式创建可安装的触发器,这样您就无需在每次将此脚本复制到不同的工作簿时手动添加它。

参考资料:

https://developers.google.com/apps-script/guides/triggers/installable#managing_triggers_programmatically

Is there any way to automatically create installable triggers?

【讨论】:

  • 天哪,我太笨了!非常感谢,我以为我要疯了。说真的,谢谢!
猜你喜欢
  • 1970-01-01
  • 2013-07-01
  • 1970-01-01
  • 2011-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多