You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修改Google Apps Script:E列存在空单元格时仅发送一封提醒邮件

解决Google Apps Script重复发送邮件问题

原代码会为每个空单元格单独发送邮件,修改后只需检测到存在空单元格就发送一封提醒邮件:

function sendSupervisorEmail(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Form Responses 1");
  var data = sheet.getDataRange().getValues();
  // 标记是否存在空单元格
  var hasEmptyCells = false;

  // 遍历数据,仅检测空单元格,不发送邮件
  for(var i = 1; i < data.length; i++) {
    if(data[i][4] === "") {
      hasEmptyCells = true;
      // 找到一个空单元格后可提前终止循环,提升效率
      break;
    }
  }

  // 仅当存在空单元格时发送一封邮件
  if(hasEmptyCells) {
    var msg = "存在待审批的休假申请。\n点击以下链接进行审批:\n>>>>URL<<<<";
    MailApp.sendEmail(">>>>EMAIL<<<<", "待审批提醒 - 休假申请", msg, {noReply: true});
  }
}

修改要点:

  • 添加hasEmptyCells布尔变量,用于标记E列是否存在空单元格
  • 循环仅负责检测空单元格,找到后可立即终止循环(可选,提升运行效率)
  • 将邮件发送逻辑移到循环外,仅在确认存在空单元格时发送一次邮件
  • 优化邮件内容的换行格式,使用\n保证邮件内换行正常显示

内容的提问来源于stack exchange,提问作者Brian Reim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 13:33:13