带附件的列表项或带附件的Forms复制到其他列表的教程(Power Automate)

本文介绍如何使用PowerAutomate实现从一个列表到另一个列表的带附件项的复制,包括具体步骤及解决Forms到列表复制时遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做一个审批流的时候遇到了个难题,如果将带有附件列表项复制到其他列表中。过去做过不带附件的列表复制,还是比较简单的,但附件却无法直接复制。百度上的教程比较少,最后还是到youtube上找到了方法(吐槽下英文太难了),还是比较简单的

List to List步骤

这里只写Power Automate的步骤,新建列表或Forms的就不写了

1、创建触发器(当创建项时)

2、复制新创建的列表项到新的列表(不包括附件)

3、获取附件

SharePoint里就有获取附件的组件,还是比较方便的,这个ID是第一步“当创建项时”的ID

4、获取附件内容并添加附件

因为之前获取的附件无法直接添加到新列表项中,所以还得先获取附件内容才能执行添加附件,另外针对附件不只一个的情况,所以这里需要用到循环,"body"是上一步"获取附件"得来的

这样整个带附件的列表项复制就完成了

Forms to List步骤

这个相对于List之前的复制就困难些了,毕竟List里有组件可以直接获取附件和附件内容,而Forms却没有,最后依然在youtube上找到了方法,用到了Json

1、创建触发器(提交新回复时)并获取回复详细信息

2、新建列表项并将Forms内容(不包括附件)复制进去

3、分析Json

重要的一步,获取到附件的信息,代码直接复制粘贴就可以

{
    "type": "array",
    "items": {
        "type": "object",
        "properties": {
            "name": {
                "type": "string"
            },
            "link": {
                "type": "string"
            },
            "id": {
                "type": "string"
            },
            "type": {},
            "size": {
                "type": "integer"
            },
            "referenceId": {
                "type": "string"
            },
            "driveId": {
                "type": "string"
            },
            "status": {
                "type": "integer"
            },
            "uploadSessionUrl": {}
        },
        "required": [
            "name",
            "link",
            "id",
            "type",
            "size",
            "referenceId",
            "driveId",
            "status",
            "uploadSessionUrl"
        ]
    }
}

4、获取附件内容并添加附件

依然是需要用到循环

这样带有附件的Forms复制到列表中也完成了

### 如何使用 Power Automate 批量发送附件的电子邮件 #### 准备工作 为了实现这一目标,需要准备一个包含收件人信息以及附件路径的数据源。通常情况下,这可以通过 Excel 表格来完成,其中每一行代表一位接收者的信息及其对应的附件位置。 #### 创建 Power Automate 流程 启动 Microsoft Power Automate 并创建一个新的自动化流程: 1. **触发器设置** - 选择 `When a new item is created` 者 `Recurrence` 来定期检查是否有新的记录被加入到数据集中[^1]。 2. **获取列表项** - 添加动作 `Get items from SharePoint list` (如果是从SharePoint 获取) 者 `List rows present in a table` (如果来自Excel Online),用于读取存储有收件人详情和附件链接的工作表中的所有条目[^2]。 3. **循环处理每一条记录** - 插入 `Apply to each` 控制结构,以便能够遍历上述操作返回的结果集内的每一个项目。 4. **构建邮件正文并附加文件** - 在 Apply to Each 循环内部添加 `Initialize variable` 动作初始化变量用来保存动态内容比如HTML格式化的消息体;接着利用 `Attach file` 动作为每个联系人关联特定文档作为附件[^3]。 5. **发送个性化邮件** - 继续在同一循环内追加 `Send an email (V2)` 操作,配置此步骤以传递之前定义好的自定义化问候语句和个人专属材料给每位参与者。确保正确填写SMTP服务器的相关参数如端口号、认证方式等必要字段。 6. **结束与测试** - 完成以上设定之后保存整个Flow,并对其进行初步的功能验证,确认能否按照预期正常运作。 ```powershell # PowerShell 示例代码展示如何连接Office 365服务并向指定用户群组分发通知信函 Connect-PnPOnline -Url "https://yourtenant.sharepoint.com/sites/yoursite" $items = Get-PnPListItem -List "YourEmailListName" foreach ($item in $items){ Send-MailMessage ` -To $item["RecipientEmailAddress"] ` -Subject "您的预约已成功提交" ` -BodyAsHtml "<p>尊敬的客户:</p><p>您已经成功预约了狗狗清洗服务。</p>" ` -Attachments @($item["AttachmentPath"]) ` -SmtpServer smtp.office365.com ` -Port 587 ` -UseSsl ` -Credential (Get-Credential) } ```
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值