メールアクティビティでフィルターがうまく設定できない

タイトル
GetOutlookMailMessagesアクティビティでフィルターがうまく設定できない

こんにちは

標題の件、GetOutlookMailMessagesにてメールメッセージを取得しようとしているのですがフィルターがうまく設定できません。

フィルターに何も入れていないときには、「message_list(0).Subject」でメールのタイトルが出てくるので正常に取得できていると思うのですが、フィルターを設定すると出力先の件数が0件でインデックスが範囲を超えているとのエラーが出てしまいます。

<設定しているフィルター>
“[Subject] = ‘TEST’"

対象のメールフォルダにこのタイトルのメールは存在しているので、正常に絞り込まれた結果0件というのはないはずなのですが、原因が分かりません。

詳しい方がいらしたらご教示ください。

※検索しやすいタイトルにしているつもりでしたがforumに通らないのでタイトルは別で書いています。

取得する件数(Top)や、対象となるメッセージの設定(OnlyUnreadMessages)は問題ありませんか?
上記が問題なければ、フィルターをアクティビティ上ではなく、取得したコレクションに対してLINQで実施する方法がワークアラウンドになるかと思います。

取得したメッセージのコレクション(List)を msgs と、またフィルターした結果(同じ型)を filteredMsgs とすると、下記のように代入(Assign)アクティビティを設定すれば良いかと思います。

filteredMsgs = msgs.Where(Function(m) m.Subject.Equals("TEST")).ToList

1 Like

こんにちは

一度以下を試してみてはと思います

1 Like

@cheez_RPA さん
@Yoichi さん
コメントありがとうございます。

お二人の方法をどちらも試させて頂いて、どちらの方法もうまくいきました。
①filteredMsgs = msgs.Where(Function(m) m.Subject.Equals(“TEST”)).ToList
②"@SQL=urn:schemas:httpmail:subject LIKE ‘%Your Item%’"

とりあえず解決策としては先にコメント頂いたcheez_RPAさんにさせて頂きますが
お二人ともありがとうございました。

あと非常に恥ずかしい話なのですが、元々なぜうまくいっていなかったのかも分かりました。
UiPathの画面上やForumでは全角も半角も見た目上は半角なので気づきませんでしたが
ネットから貼り付けてきた「'」が全角だったことが原因でした…m(__)m

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.