我想按顺序自动执行以下操作:
- 扫描电子邮件文件夹,查找特定内容的邮件(主题或正文,两者都可以);
- 如果找到,我想在电子邮件的正文中搜索每个电子邮件唯一的特定字符串;
- 复制唯一的特定字符串;
- 将其粘贴到单元格中,但哪个单元格取决于该行中的信息。
Outlook和Excel都是Microsoft 365。
您可以自动化这两个应用程序来完成工作。
首先,要查找符合条件的邮件项目,您可以使用items类的Find
/FindNext
或Restrict
方法。您可以使用逻辑AND
操作符简单地将所有条件组合到单个查询字符串中。在以下文章中阅读更多关于这些方法的信息:
- 如何:使用Find和FindNext方法从文件夹中检索Outlook邮件项目(c#, VB.NET)
- 如何:使用Restrict方法从文件夹 中检索Outlook邮件项目
第二,为了处理来自消息体的所需信息,您可以使用不同的属性。Outlook对象模型支持三种自定义消息主体的主要方法:
-
Body属性返回或设置一个字符串,表示Outlook项目的明文正文。
-
MailItem
类的HTMLBody属性返回或设置一个表示指定项目的HTML主体的字符串。设置HTMLBody
属性总是会立即更新Body属性。例如:Sub CreateHTMLMail() 'Creates a new e-mail item and modifies its properties. Dim objMail As Outlook.MailItem 'Create e-mail item Set objMail = Application.CreateItem(olMailItem) With objMail 'Set body format to HTML .BodyFormat = olFormatHTML .HTMLBody = "<HTML><BODY>Enter the message <a href="http://google.com">text</a> here. </BODY></HTML>" .Display End With End Sub
-
Word对象模型可用于处理消息体。更多信息请参见第17章:使用Item body。
从Word对象模型中,您可以将所需信息直接复制粘贴到Excel中。
你也可以在UiPath中这样做。
-
使用GetExchangeMailMessages活动,您可以过滤主题等,仅读取您感兴趣的消息。有了这个活动,你不需要有Outlook客户端安装,你使用这个URL在服务器属性连接- "https://outlook.office365.com/EWS/Exchange.asmx"
-
从返回的消息中,我使用了正则表达式。Match函数从Body中解析出各种细节。
-
您可以在变量中使用经过解析和匹配的Body数据。
-
您可以使用解析和匹配的Body变量写入数据表/单元格和excel文件等。
希望这对你有帮助。