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

如何修改Google Apps Script实现每日定时发送指定Sheet标签邮件?

修改App Script实现每日定时发送邮件

1. 修正原脚本错误并优化

原脚本存在MIME类型配置错误,同时对代码做了小幅优化,修改后的完整代码如下:

function sendSheetTab() {
  var sheetName = 'SHEETNAME'; // 替换为你的目标工作表名称
  var destinationEmail = 'yourname@your.com'; // 替换为接收邮件的邮箱地址

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName(sheetName);

  // 构造PDF导出链接
  var exportUrl = "https://docs.google.com/spreadsheets/d/" + ss.getId() + "/export?gid=" + sheet.getSheetId() + "&format=pdf";

  var options = {
    "method": "GET",
    "headers": {
      "authorization": "Bearer " + ScriptApp.getOAuthToken()
    }
  };

  var result = UrlFetchApp.fetch(exportUrl, options);
  var contents = result.getContent();

  var subject = '每日报表: ' + sheetName;
  var body = '这是今日的工作表PDF附件。';
  // 修正MIME类型为PDF对应的正确值
  GmailApp.sendEmail(destinationEmail, subject, body, {
    attachments: [{
      fileName: sheetName + ".pdf",
      content: contents,
      mimeType: "application/pdf"
    }]
  });
}

2. 设置每日定时执行触发器

有两种方式可以实现脚本每日自动运行:

方式一:手动在脚本编辑器配置

  • 打开Google表格,点击顶部菜单栏「工具 > 脚本编辑器」
  • 点击左侧菜单栏的闹钟图标(「触发器」入口)
  • 点击「添加触发器」按钮,配置以下参数:
    • 选择要运行的函数:sendSheetTab
    • 选择事件源:「时间驱动」
    • 选择时间类型:「日计时器」
    • 选择具体执行时段:比如「上午9点到10点」
  • 点击「保存」,按提示完成权限授权即可。

方式二:用代码创建触发器

在脚本编辑器中新增以下函数,运行一次即可自动创建每日定时触发器:

function createDailyTrigger() {
  // 先删除已存在的同名触发器,避免重复创建
  var existingTriggers = ScriptApp.getProjectTriggers();
  for (var i = 0; i < existingTriggers.length; i++) {
    if (existingTriggers[i].getHandlerFunction() === 'sendSheetTab') {
      ScriptApp.deleteTrigger(existingTriggers[i]);
    }
  }
  // 创建每日上午9点执行的触发器,可修改atHour参数调整时间
  ScriptApp.newTrigger('sendSheetTab')
    .timeBased()
    .everyDays(1)
    .atHour(9)
    .create();
}
  • 点击脚本编辑器的运行按钮执行createDailyTrigger,按提示完成权限授权后,触发器会自动生效。

内容的提问来源于stack exchange,提问作者Daniela Patta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 17:35:04