场景说明:
在uipath中使用Get Outlook Messages读取邮件时,默认是按照最新收到的邮件开始读取,(可参考下图示例中,读取前5封邮件,根据输出的邮件接收时间可以看出,读取邮件的顺序是按照由新到旧进行读取),在实际生产中,邮件之间的需要处理的内容可能存在先后关系,需要按照由旧到新的顺序进行读取,可参考以下方案:
解决思路
1、可以使用编程中最常见的互相重新赋值,如以下例子:
将1、2、3倒序输出为3、2、1
可以先a=1,b=2,c=3 进行循环赋值,a=b,b=c,c=a
具体解放方法如下:
解决方案:
1、在get outlook message和读取内容之间添加一个循环
2、定义变量
变量名 | 变量类型 | 说明 |
---|---|---|
MessageList | List<MailMessage> | 前面读取邮件的输出变量,不用再次定义 |
MailIndex | int32 | 用于邮件列表的索引,从0开始依次读取 |
MailTemp | MailMessage | 用于临时存储邮件 |
3、赋值
MailTemp = MessageList( MailIndex )
MessageList( MailIndex ) = MessageList( (MessageList.Count -1) - MailIndex )
MessageList( (MessageList.Count -1) - MailIndex ) = MailTemp
MailIndex = MailIndex + 1
程序中使用multiple assign进行定义,如下图:
4、运行
如下图,已经按照邮件时间的先后顺序读取输出