返回

如何使用Google表格脚本自动导出PDF邮件附件?

javascript

使用 Google 表格脚本自动导出 PDF 电子邮件附件

简介

在日常工作中,我们经常需要从 Google 表格中提取数据并将其作为 PDF 文件发送给同事或客户。为了自动化此过程并节省时间,我们可以使用 Google Apps 脚本创建一个脚本,当勾选特定复选框时触发。

设置触发脚本

  1. 在 Google 表格中创建复选框: 在需要触发脚本的单元格中插入一个复选框。

  2. 打开 Google 表格脚本编辑器: 转到“编辑”>“脚本”以打开脚本编辑器。

  3. 复制并粘贴脚本: 将以下脚本复制并粘贴到脚本编辑器中:

function onCheckboxChange(e) {
  if (e.value == 'TRUE') {
    sendExportedSheetAsPDFAttachment();
  }
}
  1. 关联脚本和复选框: 在“触发器”选项卡中,单击“添加触发器”,选择“复选框”作为“事件源”,选择“复选框状态更改”作为“事件类型”,然后从下拉菜单中选择触发此脚本的复选框。

导出特定数据(可选)

默认情况下,此脚本将导出整个工作表作为 PDF。但是,如果你只想导出特定数据,请使用以下修改后的脚本:

function sendExportedSheetAsPDFAttachment() {
  // 获取要导出的数据范围
  var range = SpreadsheetApp.getActiveSheet().getRange('A1:B10');
  
  // 将范围导出为 PDF
  var blob = range.getAs('application/pdf');
  
  // 设置附件名称
  blob.setName("数据导出.pdf");
  
  // 创建电子邮件并附加 PDF
  var message = {
    to: "收件人电子邮件",
    subject: "数据导出",
    body: "请查看附件中的数据导出。",
    attachments: [blob.setName("数据导出.pdf")]
  }
  
  MailApp.sendEmail(message);
}

测试脚本

勾选设置了触发器的复选框以测试脚本。如果一切设置正确,你应该会收到一封包含 PDF 附件的电子邮件。

结论

使用 Google Apps 脚本,我们可以轻松地自动化 Google 表格中的任务,例如导出数据并将其作为 PDF 电子邮件附件发送。这可以帮助我们节省大量时间并提高工作效率。

常见问题解答

  1. 为什么我在触发脚本时收到授权错误?

确保你已授予脚本访问你的 Google 驱动器和 Gmail 的权限。

  1. 如何更改发送电子邮件的收件人?

to: 字段中编辑电子邮件地址。

  1. 如何仅导出特定列或行?

修改 getRange() 函数中的范围,以指定要导出的特定列或行。

  1. 如何设置附件名称?

使用 setName() 函数为附件指定名称。

  1. 我可以在脚本中添加其他功能吗?

当然。你可以根据需要自定义脚本,例如在邮件正文中添加更多文本或附件。