首页 > 解决方案 > 谷歌表格电子邮件发送功能不起作用

问题描述

我正在尝试通过单击复选框通过谷歌电子表格发送电子邮件。下面是我正在使用的代码

function onEdit(e){
  var ss = e.source.getActiveSheet();
  var ss_name = ss.getName();
  var ui = SpreadsheetApp.getUi();//unused

  if (ss_name == "Shopy"){
    var row = e.range.getRow();
    var col = e.range.getColumn();
    if (col === 5 && row == 2){
      if (ss.getRange("E2").getValue()){
        checkIt(ss);
        ss.getRange("E6").setValue("Report sent");
      }  
    }
  }
}

function checkIt(ss){
  sendEmail(ss,ui);
}

工作表一直在工作,直到 UI 底部弹出YESNo但我猜该函数sendEmail(ss)没有执行。

** 答案:** 触发器不起作用,但使用图像按钮效果很棒

按钮截图

标签: javascriptgoogle-apps-scriptgoogle-sheetstriggers

解决方案


onEdit 是一个简单的触发器。简单触发器不能执行需要权限的操作。发送电子邮件需要许可。

简单的触发器

在简单的触发器中使用 UI 不是一个好主意,因为它们必须在 30 秒内完成。


推荐阅读