2

我正在使用 UiPath 创建一个机器人来从电子邮件中获取文件。有些文件受密码保护,有些文件不受保护。

受密码保护的文件通过电子邮件正文中的密码发送。

Example email
From: ABC <abc@outlook.com>
Sent: Monday, 5 October 2020 10:54 AM
To: BCD <bcd@outlook.com>
Subject: Files

附加的文件

密码是:......

可能有 10 封电子邮件和 2 封受密码保护的文件 我是否让机器人知道哪些文件受密码保护并打开受密码保护的 Excel 文件并将数据移动到包含 10 封电子邮件中所有文件的巨型 Excel 工作表中。

我不确定要在工作流中执行这些功能的活动。我也不确定我所做的以下方法是否是解决此问题的正确方法。

所以我做了一条获取 Outlook 消息并将附件保存到附件文件夹。

我从文件夹过程中创建了一个获取文件,因为我想做一个 for 循环来检查每个文件是否受密码保护并且我不知道如何继续。

这是我的主要工作流程

在此处输入图像描述

4

3 回答 3

0

您是否尝试获取 System.Net.Mail.MailMessage.Body (https://docs.microsoft.com/en-us/dotnet/api/system.net.mail.mailmessage.body?view=netcore-3.1)和解析字符串以搜索密码?因此,在您的每个循环中,您可以使用“mail.Body”并检索所有电子邮件文本。

于 2020-10-23T07:31:14.010 回答
0

这只是您拥有的一种选择。由于我过去对BalaReva.Excel.Activities有过很好的体验,也许值得你来测试一下。

如图所示,Connect它带有大量的库。您需要下载整个软件包并使用该功能ProtectUnProtectSheet。该活动应该适用于您的情况。

BalaReva.Excel.Activity

有关完整示例,请查看

于 2020-10-05T19:26:02.423 回答
0

我不确定您在流程的哪个步骤遇到问题,但这里有一些关于您在设法遍历每封电子邮件后需要做的一些事情的提示(您似乎已经在做):

  • 从电子邮件正文中提取密码。你可以在这里做两件事:要么直接在带有内容的字符串上应用正则表达式(如果你愿意写几行 1-2 行 vb.net 代码)或者你走很长的路使用 IntelligentOCR 包,数字化文本(您必须先将其写入文件),使用“提取范围”和“正则表达式提取器”提取数据,然后从提取数据的结果 json 中获取
  • 打开 Excel 并使用密码:有一个名为 UIPath.Activities.Excel 的包可以做到这一点。
于 2020-10-09T09:04:55.637 回答