Google Sheet基于行内当日日期自动发送邮件通知需求(新手求助)
实现Google Sheet自动邮件通知(E列匹配当日日期)
步骤1:打开Apps Script编辑器
打开目标Google Sheet,点击顶部菜单栏的「扩展程序」→「Apps Script」,进入脚本编辑页面。
步骤2:粘贴并修改脚本代码
清空编辑器默认代码,粘贴以下脚本,务必替换代码中的收件邮箱为你自己的:
function checkDatesAndSendEmail() { // 获取当前活跃工作表 const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // 获取E列数据(从第2行开始,假设第1行是表头) const eColumn = sheet.getRange(2, 5, sheet.getLastRow() - 1, 1).getValues(); // 格式化当日日期(去除时间部分,只保留年月日) const today = new Date(); today.setHours(0, 0, 0, 0); let matchFound = false; // 遍历E列所有日期 eColumn.forEach(cell => { const cellDate = new Date(cell[0]); cellDate.setHours(0, 0, 0, 0); // 对比日期是否一致 if (cellDate.getTime() === today.getTime()) { matchFound = true; } }); // 找到匹配日期时发送邮件 if (matchFound) { const recipient = 'your-email@example.com'; // 替换成你的收件邮箱 const subject = '许可证日期提醒:今日有匹配记录'; const body = '提示:当前表格E列存在与今日日期一致的许可证记录,请及时处理。'; MailApp.sendEmail(recipient, subject, body); } }
注意:如果你的表格表头不是第1行,需要修改
getRange(2, 5, ...)里的第一个数字(比如表头在第3行,就改成3)。
步骤3:设置每日定时触发
- 在脚本编辑器左侧,点击时钟形状的「触发器」图标;
- 点击「添加触发器」按钮,按以下参数设置:
- 选择函数:
checkDatesAndSendEmail - 选择事件源:「时间驱动」
- 选择类型:「日计时器」
- 选择时间间隔:「每天上午6点到7点」(或直接选你需要的7点左右时间段)
- 选择函数:
- 点击保存,按照提示完成授权(遇到「应用未验证」提示时,点击「高级」→「转到脚本(不安全)」继续,这是自定义脚本的正常流程)。
关键说明
- 脚本完全后台运行,不会在表格中添加任何额外数据集;
- 只有当E列存在与当日日期完全匹配的单元格时,才会发送邮件;
- 首次运行可手动点击编辑器顶部的运行按钮,完成初始授权。
内容的提问来源于stack exchange,提问作者Meghan1
相关产品推荐
相关产品推荐

