求助编写Google Sheets+Apps Script绩效评估自动邮件提醒脚本
Google Sheets 绩效评估日期自动提醒邮件脚本
功能说明
- 每日自动扫描表格,检测列C的绩效评估日期
- 在评估日期前2周,向列A对应的主管邮箱发送提醒邮件
- 邮件正文自动包含列B的备注信息
完整脚本代码
function sendReminderEmails() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const data = sheet.getDataRange().getValues(); const today = new Date(); // 计算触发提醒的节点:今天距离评估日期刚好14天 const reminderThreshold = new Date(today.getTime() + 14 * 24 * 60 * 60 * 1000); // 跳过表头(假设第一行为标题行) for (let i = 1; i < data.length; i++) { const supervisorEmail = data[i][0]; const note = data[i][1]; const evaluationDate = data[i][2]; // 跳过无效数据:邮箱为空、日期格式错误 if (!supervisorEmail || !(evaluationDate instanceof Date)) continue; // 统一日期格式,规避时区差异问题 const formattedEvalDate = Utilities.formatDate(evaluationDate, Session.getScriptTimeZone(), 'yyyy-MM-dd'); const formattedThreshold = Utilities.formatDate(reminderThreshold, Session.getScriptTimeZone(), 'yyyy-MM-dd'); // 触发提醒条件:评估日期前14天 if (formattedEvalDate === formattedThreshold) { const subject = `绩效评估提醒:距离评估还有14天`; const body = `您好,\n\n提醒您,您负责的员工绩效评估将于${formattedEvalDate}开展。\n备注信息:${note || '无'}\n\n请提前做好相关准备。`; // 发送邮件 MailApp.sendEmail(supervisorEmail, subject, body); } } }
设置步骤
- 打开目标Google Sheets表格,点击顶部菜单栏「扩展程序」>「Apps Script」
- 删除编辑器默认代码,粘贴上述完整脚本
- 点击编辑器顶部保存按钮,给项目命名(例如「绩效评估提醒脚本」)
- 配置定时触发器:
- 点击左侧菜单栏时钟图标(触发器)
- 点击「添加触发器」
- 运行函数选择:
sendReminderEmails - 事件源选择:「时间驱动」
- 触发类型选择:「每天」,设置合适的运行时间(例如上午9点)
- 点击「保存」,首次运行需完成权限授权(按提示操作即可)
注意事项
- 表格第一行需为表头(A列:主管邮箱,B列:备注,C列:评估日期)
- 列C的日期必须设置为Google Sheets标准日期格式,否则脚本无法识别
- 权限授权时若提示「未经验证的应用」,点击「高级」>「转到XXX项目(不安全)」完成授权
内容的提问来源于stack exchange,提问作者Joy S
相关产品推荐
相关产品推荐

