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

谷歌表格任务邮件提醒脚本发送无摘要问题修复求助

代码问题排查

  • 受派人列表逻辑错误:你当前直接将Assignee写死为[0],没有从筛选后的assigned数据中提取唯一的受派人邮箱列表,循环范围完全不符合预期
  • 变量重复定义冲突:先后两次定义Summary变量,reduce过程中引用的Summary[2]实际指向的是最初定义的无意义数组[2],无法取到预期的摘要内容
  • 邮件发送参数错误:调用MailApp.sendEmail时硬编码了compareAssignee[0]和Summary[2],仅会给第一个受派人发送内容为undefined的邮件
  • 换行符设置无效:String.fromCharCode()未传参数,不会生成换行,纯文本邮件应使用\n作为换行符

修复后完整代码

function sendEmail(){
    const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("2021-12 {3600950}");
    // 读取表格所有数据,筛选状态为assigned的行
    const data = ss.getDataRange().getValues();
    const assignedTasks = data.filter(row => row[5] === "assigned");

    // 提取唯一受派人邮箱列表
    const assigneeEmails = [...new Set(assignedTasks.map(task => task[0]))];

    // 遍历每个受派人,汇总其名下待办任务后发邮件
    assigneeEmails.forEach(email => {
        // 汇总当前受派人的所有待办任务
        const taskList = assignedTasks
            .filter(task => task[0] === email)
            .map(task => `待办任务:${task[2]}`)
            .join('\n'); // 每个任务换行展示

        // 有任务才发邮件,避免空内容邮件
        if(taskList) {
            MailApp.sendEmail(email, "待处理RPP任务", taskList);
            console.log(`已向${email}发送待办任务邮件,任务列表:\n${taskList}`);
        }
    });
}

function scheduleEmails(){
    // 每月28日1点触发邮件发送
    ScriptApp.newTrigger("sendEmail")
    .timeBased()
    .onMonthDay(28)
    .atHour(1)
    .create();
}

内容的提问来源于stack exchange,提问作者Kavia Venkatesh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:45:03