「Outlookメールメッセージを取得」にて取得したリストを、メールの受信日昇順に並び替えたい場合、どうしたら良いでしょうか?
検証していませんが。。。
取得したリストを list
としたとき、 Assign アクティビティで list
= list.OrderBy(Function(m) m.Header("Date")).ToList
としてあげれば行く気がします。
こんにちは
受信日時なのと、String型で返すとMM/dd/yyyy形式なのでそのままソートすると期待する結果にならないと思います。そのためソート対象を一旦DateTime型にParseする必要があるかと思います。
これを踏まえますと
mailList = mailList.OrderBy(function(x) DateTime.Parse(x.Headers("DateRecieved"))).toList()
あるいは
mailList = mailList.OrderBy(function(x) DateTime.Parse(x.Headers("DateRecieved").Replace("(JST)","").Trim())).toList()
のようにすると良いと思います。
ちなみに後者は以下のようなケースがあるとのことでその対応です。
1 Like
cheez_RPA様
Yoichi様
回答頂いたどちらの方法でも、ソート出来ました。
ご回答いただき、ありがとうございました!
2 Likes