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

请求编写Google Sheets特定复选框触发的PDF邮件发送脚本

解决方案:通过复选框触发PDF导出并发送邮件

1. 准备触发用复选框

在电子表格的指定单元格(例如A1)插入复选框:选中目标单元格 → 菜单栏「插入」→「复选框」,建议在旁添加明确标签(如「发送PDF邮件」)。

2. 替换并更新脚本代码

将原有代码替换为以下版本,新增编辑触发逻辑,同时优化原代码结构:

// 表格编辑时触发的核心函数
function onEdit(e) {
  const triggerCell = "A1"; // 替换为你的复选框所在单元格(如B5)
  const activeSheet = e.source.getActiveSheet();

  // 仅当目标复选框被勾选时执行后续操作
  if (e.range.getA1Notation() === triggerCell && e.value === "TRUE") {
    sendExportedSheetAsPDFAttachment();
    // 执行后重置复选框,避免重复触发
    activeSheet.getRange(triggerCell).setValue(false);
  }
}

function sendExportedSheetAsPDFAttachment() {
  // 替换为你的表格PDF导出链接,保留format=pdf等必要参数
  const exportUrl = "https://docs.google.com/spreadsheets/d/1FuTHRBQ0JRmo35kcrFBIhzjRXGTea3Xznek1lKE6xT0/export?format=pdf&scale=3";
  const pdfBlob = getFileAsBlob(exportUrl);
  const pdfFileName = "ΘΕΛΩ ΕΧΩ ΕΘ.ΑΝΤΙΣΤΑΣΕΩΣ";
  pdfBlob.setName(pdfFileName);

  const mailOptions = {
    to: "xxxxxx@gmail.com", // 替换为收件人邮箱
    subject: pdfFileName,
    body: `Χαίρεται,

Παρακαλώ βρείτε συννημένη τη σημερινή παραγγελία.

Ευχαριστώ,
Παραγγελίες`,
    name: "ΕΘ.ΑΝΤΙΣΤΑΣΕΩΣ",
    attachments: [pdfBlob]
  };

  MailApp.sendEmail(mailOptions);
}

function getFileAsBlob(exportUrl) {
  const response = UrlFetchApp.fetch(exportUrl, {
    muteHttpExceptions: true,
    headers: {
      Authorization: `Bearer ${ScriptApp.getOAuthToken()}`
    }
  });
  return response.getBlob();
}

3. 安装可安装触发器(必填)

由于简单onEdit触发器无MailApp和UrlFetchApp权限,需手动安装可安装触发器:

  1. 打开脚本编辑器 → 点击左侧「触发器」图标
  2. 点击「添加触发器」,设置以下参数:
    • 运行函数:onEdit
    • 事件源:「从电子表格」
    • 事件类型:「编辑时」
  3. 点击「保存」,按提示完成权限授权。

4. 使用说明

在平板端打开表格后,勾选指定复选框即可自动触发PDF导出和邮件发送,执行完成后复选框会自动重置为未勾选状态。

内容的提问来源于stack exchange,提问作者Thodoris Sarikas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 07:55:22