【问题标题】:How do I open password protected file using UiPath?如何使用 UiPath 打开受密码保护的文件?
【发布时间】:2021-01-20 03:30:37
【问题描述】:

我正在使用 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 文件并将数据移动到包含所有文件的大型 Excel 工作表中10 封电子邮件。

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

【问题讨论】:

    标签: uipath uipath-studio uipath-robot uipath-activity


    【解决方案1】:

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

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

    如需完整示例,请查看this

    【讨论】:

    • 您好 kwoxer,我不是要保护 UnProtectedSheet。我正在尝试从电子邮件正文中检索密码以打开附加到电子邮件的 excel 文件,以将 excel 文件中的数据添加到包含所有电子邮件文件的大型 excel 文件中。
    • 您好,我已经测试了该程序,但它不能满足我的要求,因为我的 rpa 需要从电子邮件正文中打开不同密码的 excel 文件。该程序是否有替代解决方法来满足要求
    【解决方案2】:

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

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

    【讨论】:

    • 嗨,如果我像附件 6 那样做,我做得对,我也找不到提取范围和正则表达式提取器。我从邮件中收到了电子邮件,我在邮件正文中写了一个 if 正则表达式(密码),将附件移动到密码文件夹。或者我应该将文件位置和密码保存到 excel 文件中
    【解决方案3】:

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

    【讨论】:

      最近更新 更多