在 Outlook 附件上运行 Excel 脚本,然后发送处理后的文件

问题描述

TL;DR:我想从 Outlook 邮件提取 Excel 附件,在未处理的报告上自动执行 Excel 脚本,然后在新电子邮件中发送输出

  1. 我收到来自 Amazon 的报告,显示我每个月都发送到 Outlook 文件夹中的特定电子邮件
  2. 我将 Power Automate 设置为在此文件夹中收到带有附件的电子邮件时触发。
  3. 我想获取此 Outlook 电子邮件中的附件并运行我在 Excel Desktop 上构建的 Excel 脚本(不是 Excel 应用程序宏)来格式化数据。
  4. 然后我想将输出/结果(脚本化的电子邮件附件)作为电子邮件正文发送给客户。

我已经运行了第一部分和最后一部分,但是我无法让脚本来处理文件,这个阶段总是会破坏自动化。

enter image description here

我认为可能导致问题的原因:

  • 是否需要从电子邮件提取附件并将​​其另存为文件,然后才能在其上运行 Excel 脚本?
  • 附件是否需要通过 Share Point 保存以便以后 Excel 脚本引用?
  • 脚本是否需要与之前的步骤在相同或不同的卡片上?

我见过人们通过 Scope 运行 Excel 脚本。 我还查看了所有可用的 YouTube 视频以解决此问题:有些视频会检查过程中的某些步骤,但我很难将所有内容串在一起。

我尝试过的其他事情

我还尝试构建一个与 Excel 桌面自动功能相同的宏,然后编写 VBA 代码,以便每次打开新工作表时都会运行相同的宏来处理数据。但是我无法让它在我打开的任何新的未来工作表上运行,即使在模块和本工作表中编写 VBA 自动打开代码也是如此。

我愿意接受任何可以使这项工作发挥作用的方法

解决方法

Part 1

Part 2

Part 3

Total Workflow

获取电子邮件 (V2) - 消息 ID

@{triggerOutputs()?['body/id']}

应用于每个 - 从前面的步骤中选择一个输出

@{outputs('Get_email_(V2)')?['body/attachments']}

创建文件 - 文件名

@{items('Apply_to_each')?['name']}

创建文件 - 文件内容

@{items('Apply_to_each')?['contentBytes']}

移动或重命名文件 - 文件(确保为目标文件路径添加 .xlsx)

@outputs('Create_file')?['body/Id']

运行脚本 - 文件

@outputs('Move_or_rename_a_file')?['body/Id']

获取文件内容 - 文件

@outputs('Move_or_rename_a_file')?['body/Id']

发送电子邮件 (V2) - 附件 Name-1

@outputs('Move_or_rename_a_file')?['body/DisplayName']

发送电子邮件 (V2) - 附件内容 - 1

@body('Get_file_content')?['body']