【问题标题】:Google sheets scripting - possible for mail to trigger one column?谷歌表格脚本 - 邮件可能触发一列吗?
【发布时间】:2020-09-15 05:43:20
【问题描述】:

我想看看当表单被填写到表单上时,Google 表单是否可以触发我的脚本 - 通过触发 A 列,因为当有新请求通过时我需要通过电子邮件发送,这个最好使用 A 列来完成,因为这是全名的单元格,所以我永远不会编辑 A 列单元格。

这是我的代码,到目前为止还不能正常工作 -

function onEdit(e){

  var range = e.range;
  if (range.getColumn() === observedCellColumn && range.getRow() === observedCellRow) {
      myFunction(); // MailApp.sendEmail('email@email.com','Maintenance Request','Hi Connor A resident or staff member has put in a maintenance request. 
  }
}

提前致谢!

【问题讨论】:

    标签: function google-sheets triggers scripting


    【解决方案1】:

    正如您在documentation 中看到的那样:

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

    一个选项是使用Installable Trigger。这样做:

    1. 编辑您的函数:
    function sendEmail(){
       MailApp.sendEmail('email@email.com','Maintenance Request','Hi Connor A 
       resident or staff member has put in a maintenance request.');
    }
    
    1. 转到Edit > Current project's triggers
    2. 点击+ Add Trigger按钮
    3. 选择您的函数并将事件类型设置为On form submit,然后保存。

    现在,每次有人提交表单时,您都会收到一封电子邮件。请记住,发送它的用户将发送它as your account

    可安装的触发器始终在执行人的帐户下运行 创造了他们。 [...] 这意味着如果您 创建一个触发器以在打开文档时发送电子邮件,电子邮件 始终从您的帐户发送,不一定是从您的帐户发送 打开文档。但是,您可以创建一个可安装的触发器 对于每个帐户,这将导致从每个帐户发送一封电子邮件 帐户。

    【讨论】:

    • 感谢您的及时答复。不幸的是,您的代码不适用于我的条件。其他人已经从表格中创建了自动填充,非常肯定来自 Jotform。因此,当从表单中填写一行并设置了我的可安装触发器时,什么也没有发生。为了避免使用我的函数解析自动填充表单,我尝试让 A 列触发我的代码,因为我知道我永远不会编辑该列中的任何内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    相关资源
    最近更新 更多