UiPath怎么筛选outlook标题或时间?

UiPath怎么筛选outlook标题或时间?

UiPath可以收、发邮件,这个功能很方便,可以应用在根据特定邮件触发的流程中。
比如:根据客户邮件发来的订单,安排自己公司内的生产排成;汇总每天的特定邮件中的附件,做资料整理分析;
UiPath收取outlook,是用“Get outlook mail messages”,需要在它的properties中设定MailForder,通常为“收件箱”或“Inbox”。然后在output处设置一个变量,以后便可以利用这个变量做下一步的读邮件标题或存储附件的功能了。
通常我们每天收到的邮件比较多,只处理特定时间或者特定标题的邮件应该怎么做呢?
只需要在properties-Options-Filter写入特定条件就可以啦,以下为范例:

  1. 筛选特定标题
    在这里插入图片描述
    右侧properties要记得设定MailFolder和Output
    在这里插入图片描述
    筛选邮件标题的语句,只将“邮件标题”修改为你想要的内容即可。

  2. 筛选特定时间收到的邮件
    筛选一天内收到的邮件,时间可以根据需求自定义。
    以上两个图中涉及到的语句为
    “@SQL=” + “”"" + “urn:schemas:httpmail:subject” + “”"" + " like ‘%邮件标题%’"
    “[ReceivedTime]>=’” & Now.AddDays(-1).ToShortDateString & “’”

如果你觉得有帮助,关注微信公众号“UiPath学习圈”一起加入哦。
路上有伴,不会孤单!

### 如何在 UiPath 中使用活动表达式按日期进行筛选 为了实现在 UiPath 中按照特定日期条件来筛选数据,可以采用多种方法。对于邮件筛选场景而言,可以通过设置 `@SQL` 查询语句配合 `[ReceivedTime]` 属性来进行精确的时间范围控制[^1]。 #### 使用 Assign 活动初始化日期变量 当需要基于动态变化的日期(比如昨天、上个月的第一天等)作为筛选依据时,建议先通过 `Assign` 活动定义并赋值给相应的日期型变量。例如: ```csharp // 创建表示今天的 DateTime 变量 todayDate todayDate = DateTime.Now.Date // 计算前一天的日期 yesterdayDate yesterdayDate = todayDate.AddDays(-1) // 获取本月第一天 firstDayOfMonth firstDayOfMonth = New DateTime(todayDate.Year, todayDate.Month, 1) ``` 这些操作能够帮助构建灵活多变的查询逻辑,使得后续处理更加便捷高效[^5]。 #### 构建 SQL 查询字符串用于 Outlook 邮箱筛选 针对Outlook邮箱中的项目检索,可利用如下方式构造合适的搜索命令: - **筛选过去24小时内收到的所有邮件** ```sql "@SQL=" + """" + "urn:schemas:httpmail:receivedtime" + """" + ">='" + DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + "'" ``` - **查找某具体日期之后到达的消息** 假设要找的是自 `"2023-08-01"` 后接收到的所有邮件,则应编写成这样: ```sql "[ReceivedTime]>='2023-08-01'" ``` 上述例子展示了如何组合 C# 的字符串拼接技巧以及 .NET Framework 提供的标准日期格式化函数,从而生成符合预期的结果集。 #### 实际应用案例——每日工作流启动时获取昨日邮件列表 考虑到实际应用场景可能涉及到定时任务调度的需求,在每天凌晨运行的工作流里加入一段代码片段用来抓取前一日的相关记录会非常有用。这里给出一个完整的实例说明: ```xml <ui:Sequence xmlns:ui="http://schemas.uipath.com/workflow/activities"> <!-- 定义两个全局使用的日期变量 --> <Variable x:TypeArguments="x:DateTime" Name="startDate"/> <Variable x:TypeArguments="x:DateTime" Name="endDate"/> <!-- 设置 startDate 为当天零点时刻;endDate 则指向同一日的最后一秒 --> <Assign> <Assign.To> <OutArgument x:TypeArguments="x:DateTime">[$startDate]</OutArgument> </Assign.To> <Assign.Value> <InArgument x:TypeArguments="x:DateTime">[DateTime.Today]</InArgument> </Assign.Value> </Assign> <Assign> <Assign.To> <OutArgument x:TypeArguments="x:DateTime">[$endDate]</OutArgument> </Assign.To> <Assign.Value> <InArgument x:TypeArguments="x:DateTime">[DateTime.Today.AddSeconds(-1)]</InArgument> </Assign.Value> </Assign> <!-- 应用 @SQL 进行复杂查询 --> <MailApp.GetMessages Filter="@SQL=""urn:schemas:httpmail:receivedtime"" >= '#startDate#' AND ""urn:schemas:httpmail:receivedtime"" <= '#endDate#'" /> </ui:Sequence> ``` 这段 XML 描述了一个简单但实用的日志收集过程,其中包含了必要的日期计算部分,并最终实现了对指定时间段内所有符合条件邮件的有效提取。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值