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

PowerApp提交表单时邮件无法携带表单内容问题求助

PowerApp考勤登记邮件内容修复方案

核心问题分析

你的代码存在两个关键错误,导致邮件无法正确显示考勤内容:

  • 字符串拼接错误:Office365Outlook.SendEmailV2的正文参数必须是完整字符串,你用逗号分隔多个文本片段的写法无法被PowerApps识别,需用&符号连接所有内容。
  • 切换控件状态获取错误:Toggle控件的出勤状态通过Value属性获取(返回true/false布尔值),而非Selected.Value,需要将布尔值转换为"出勤"或"缺勤"这类可读文字。

修正后的代码(两种可选方案)

方案1:为每个用户单独发送考勤邮件

ForAll(
    Gallery1.AllItems,
    Office365Outlook.SendEmailV2(
        "address@domain.com", 
        "Deck Log - 考勤记录", 
        "姓名: " & DataCardValue2.Text & ", 出勤状态: " & If(Toggle控件名称.Value, "出勤", "缺勤")
    )
);
Notify("Attendance submitted!", NotificationType.Success)

注意:将代码中的Toggle控件名称替换为你实际添加的切换控件的名称(可在PowerApp编辑器右侧属性面板查看)。

方案2:将所有考勤汇总成一封邮件发送(更实用)

若不想收到大量单独邮件,可把所有考勤内容整合成列表一次性发送:

// 拼接所有考勤记录为HTML格式列表
Set(
    AttendanceSummary,
    Concat(
        Gallery1.AllItems,
        "<p>姓名: " & DataCardValue2.Text & " | 出勤状态: " & If(Toggle控件名称.Value, "出勤", "缺勤") & "</p>"
    )
);

// 发送汇总邮件
Office365Outlook.SendEmailV2(
    "address@domain.com", 
    "Deck Log - 今日考勤汇总", 
    "<h3>今日考勤记录如下:</h3>" & AttendanceSummary,
    {IsHtml: true} // 开启HTML格式,让邮件排版更清晰
);
Notify("Attendance submitted!", NotificationType.Success)

操作提示

只需将代码中的Toggle控件名称替换为你应用里切换控件的实际名称,即可正常生成包含考勤内容的邮件。

内容的提问来源于stack exchange,提问作者Stephen Ferns

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 21:32:39