Google Sheets两步审批流程自动邮件触发问题求助
解决Google Sheets自动修改状态时无法触发邮件通知的问题
问题核心
现有两步审批表单,要求审批人1、审批人2均通过,且状态变更为approved时向IT部门发邮件。原代码依赖onEdit函数触发,但当状态通过程序自动变更为approved时,onEdit无法激活——因为它是Google Apps Script的简单触发器,仅响应用户手动编辑单元格的操作。
可行解决方案
方案1:改用可安装onChange触发器
onChange触发器能响应程序修改、手动编辑等多种表格变更操作,配置步骤如下:
- 打开Google Sheets的脚本编辑器(路径:工具 > 脚本编辑器)
- 替换原
onEdit逻辑为以下代码(需根据你的表格列索引调整):
function handleApprovalEmail(e) { const range = e.range; const row = range.getRow(); const sheet = range.getSheet(); // 示例:状态列=C列(第3列),审批人1=D列(第4列),审批人2=E列(第5列) const currentStatus = sheet.getRange(row, 3).getValue(); const approver1Status = sheet.getRange(row, 4).getValue(); const approver2Status = sheet.getRange(row, 5).getValue(); // 校验:状态为approved,且两位审批人均通过 if (currentStatus === "approved" && approver1Status === "approved" && approver2Status === "approved") { // 发送邮件 const recipient = "it-department@yourdomain.com"; const subject = `审批完成:第${row}行申请已通过`; const body = `申请行号:${row}\n状态已更新为approved,两位审批人均完成审批,请IT部门跟进处理。`; MailApp.sendEmail(recipient, subject, body); } }
- 创建可安装触发器:
- 点击脚本编辑器左侧的「触发器」图标(闹钟样式)
- 点击「添加触发器」
- 配置项:
- 选择函数:
handleApprovalEmail - 事件源:「从电子表格」
- 事件类型:「更改」
- 选择函数:
- 保存并完成权限授权
方案2:在修改状态的代码中直接调用邮件函数
如果状态是通过你的其他脚本自动修改的,最直接的方式是在状态更新后,主动校验审批条件并调用发邮件逻辑:
function autoUpdateStatus(row) { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("审批表"); // 将指定行状态设为approved sheet.getRange(row, 3).setValue("approved"); // 校验两位审批人是否都通过 const approver1 = sheet.getRange(row, 4).getValue(); const approver2 = sheet.getRange(row, 5).getValue(); if (approver1 === "approved" && approver2 === "approved") { sendITApprovalEmail(row); } } function sendITApprovalEmail(row) { const recipient = "it-department@yourdomain.com"; const subject = `审批完成:第${row}行申请已通过`; const body = `申请行号:${row}\n状态已更新为approved,两位审批人均完成审批,请IT部门跟进处理。`; MailApp.sendEmail(recipient, subject, body); }
注意事项
- 可安装触发器需要授权,首次运行时需按提示授予脚本访问表格和邮件的权限
- 务必根据你的实际表格结构,调整代码中列的索引(示例用3、4、5列,需对应你的状态列、审批人列位置)
- 使用
onChange时,要确保函数内的条件判断足够严谨,避免因其他表格变更触发不必要的邮件
内容的提问来源于stack exchange,提问作者Janhvi Sharma
相关产品推荐
相关产品推荐

