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

如何实现点击Google表格审批按钮时,自动勾选另一Google表格复选框?

实现Google表格审批按钮同步勾选另一表格复选框

要实现点击审批/拒绝按钮时同步勾选另一个Google表格的复选框,你需要在现有函数中添加代码来定位目标表格并设置复选框状态。以下是修改后的完整代码:

function showMessageBox() {
  Browser.msgBox('Your PO has been approved!');
  // 获取收件人邮箱
  var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("C7");
  var emailAddress = emailRange.getValue();

  // 发送审批邮件
  var message = 'This PO has been approved!';
  var subject = 'Your PO request has been approved';
  MailApp.sendEmail(emailAddress, subject, message);

  // 同步勾选另一表格的复选框
  try {
    // 替换为目标表格的ID(可在表格URL中找到)
    const targetSpreadsheetId = "你的目标表格ID";
    // 替换为目标工作表名称
    const targetSheetName = "目标工作表";
    // 替换为复选框所在的单元格范围
    const checkboxRange = "D2";

    const targetSheet = SpreadsheetApp.openById(targetSpreadsheetId).getSheetByName(targetSheetName);
    targetSheet.getRange(checkboxRange).setValue(true);
  } catch (e) {
    Browser.msgBox('勾选复选框失败:' + e.message);
  }
}

function showMessageBox2() {
  Browser.msgBox('Your PO has been rejeced! We need more info');
  // 获取收件人邮箱
  var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("C7");
  var emailAddress = emailRange.getValue();

  // 发送拒绝邮件
  var message = 'This PO has been rejected, we need more information!';
  var subject = 'Your PO request has been rejected';
  MailApp.sendEmail(emailAddress, subject, message);

  // 如果拒绝时也需要勾选复选框,取消下面代码的注释并修改参数
  /*
  try {
    const targetSpreadsheetId = "你的目标表格ID";
    const targetSheetName = "目标工作表";
    const checkboxRange = "D2";

    const targetSheet = SpreadsheetApp.openById(targetSpreadsheetId).getSheetByName(targetSheetName);
    targetSheet.getRange(checkboxRange).setValue(true);
  } catch (e) {
    Browser.msgBox('勾选复选框失败:' + e.message);
  }
  */
}

关键说明:

  1. 定位目标表格:

    • 使用SpreadsheetApp.openById("表格ID")打开目标表格,表格ID可从URL中提取(例如https://docs.google.com/spreadsheets/d/XXX/edit中的XXX就是ID)
    • 也可以用SpreadsheetApp.openByUrl("完整表格URL")直接通过URL打开
  2. 设置复选框状态:

    • Google表格的复选框勾选状态对应单元格值为true,取消勾选为false,所以用setValue(true)即可完成勾选
  3. 权限处理:

    • 第一次运行修改后的函数时,会弹出授权请求,需要允许脚本访问你的Google表格资源,否则无法操作另一表格
  4. 错误捕获:

    • 添加try-catch块可以在操作失败时弹出提示,方便排查问题(比如表格ID错误、工作表名称不存在等)

内容的提问来源于stack exchange,提问作者Leycy Trejo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:48:38