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

如何在Google Sheets中通过勾选复选框审批条目并触发审批邮件

实现方案:Google Sheets复选框勾选自动触发审批流程

步骤1:前置配置(添加复选框列)

  • 打开你的payments工作表,新增一列(比如Q列,也就是第17列,列名可设为「审批勾选」)
  • 选中所有待审批行对应Q列的单元格,点击菜单栏「数据 → 数据验证」,条件选择「复选框」,点击保存即可完成复选框添加

步骤2:替换原有代码

直接将原来的代码替换为以下内容,可按需修改常量配置里的参数:

// 常量配置,可根据实际情况修改
const SPREADSHEET_ID = "xxxx"; // 替换为你的电子表格ID
const SHEET_NAME = "payments";
const CHECKBOX_COLUMN = 17; // 复选框所在列,Q列对应17,可自行调整
const APPROVE_STATUS_COLUMN = 16; // 审批状态列,对应原逻辑里的第16列P列
const NOTIFY_EMAIL = "finance@xxxx.xxx"; // 替换为实际收件邮箱

// 复选框编辑触发函数,后续需要配置可安装触发器
function onApproveCheckboxEdit(e) {
  // 校验编辑范围是否为审批复选框列
  const range = e.range;
  const sheet = range.getSheet();
  if (sheet.getName() !== SHEET_NAME || range.columnStart !== CHECKBOX_COLUMN) return;
  // 校验是否为勾选操作、且对应条目未审批(避免重复触发发邮件)
  const isChecked = e.value === "TRUE";
  const currentStatus = sheet.getRange(range.rowStart, APPROVE_STATUS_COLUMN).getValue();
  if (!isChecked || currentStatus === "Approved") return;

  // 执行审批逻辑
  handleApproval(range.rowStart, sheet);
}

// 审批执行逻辑
function handleApproval(rowIndex, sheet) {
  // 直接读取当前行对应字段值,不需要遍历找S.No
  const invitem = sheet.getRange(rowIndex, 5).getValue();
  const invdesc = sheet.getRange(rowIndex, 6).getValue();
  const reqby = sheet.getRange(rowIndex, 3).getValue();
  const amount = sheet.getRange(rowIndex, 8).getValue();

  // 发送审批通知邮件,已修正原代码里金额字段标签写错的问题
  const subject = '付款释放申请已审批通过';
  const body = `<p>您好</p>
  <p>该笔付款释放申请已从我这边审批通过</p>
  <p>发票项目: ${invitem}</p>
  <p>描述: ${invdesc}</p>
  <p>申请人: ${reqby}&nbsp;</p>
  <p>申请金额: ${amount}&nbsp;</p>
  <p>&nbsp;</p>
  <p><em>这是审批后自动触发的通知邮件</em></p>`;
  GmailApp.sendEmail(NOTIFY_EMAIL, subject, "需要HTML支持查看", {
      htmlBody: body
  });

  // 更新审批状态和单元格样式
  sheet.getRange(rowIndex, APPROVE_STATUS_COLUMN).setValue("Approved").setBackground('#008000');
}

步骤3:配置可安装触发器

由于发送邮件需要权限,简单编辑触发器无法满足要求,需要手动配置可安装触发器:

  • 打开Apps Script编辑器:点击表格菜单栏「扩展程序 → Apps Script」
  • 点击左侧菜单「触发器」→ 右下角「添加触发器」
  • 选择要运行的函数:onApproveCheckboxEdit
  • 选择事件源:电子表格
  • 选择事件类型:编辑时
  • 点击保存,按照提示完成权限授权即可使用

内容的提问来源于stack exchange,提问作者Bala Murali

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:24:06