dai_y
(dai_y)
February 25, 2025, 10:14am
1
「Outlook メール メッセージを取得」アクティビティについて公式ドキュメントを見ると下記のように記載されています
The UiPath Documentation Portal - the home of all our valuable information. Find here everything you need to guide you in your automation journey in the UiPath ecosystem, from complex installation guides to quick tutorials, to practical business...
■1 時間以内に受信したすべてのメール メッセージ
"[ReceivedTime] >= '" + DateTime.Now.AddHours(-1).ToString("MM/dd/yyyy HH:mm tt") + "'"
■件名に「business analyst」という文字列を含むすべてのメール メッセージ
"@SQL=""urn:schemas:httpmail:subject"" like '%business analyst%'"
『件名に「抽出用テストメッセージ」という文字を含んでおり、1時間以内に受信したもの』という条件にしたいのですが、ANDで結合してもうまくいきません。
どのように記述すればいいかを教えていただけないでしょうか。
なお、
“[ReceivedTime] >= '” + DateTime.Now.AddHours(-1).ToString(“MM/dd/yyyy HH:mm tt”) + “'”
と
“@SQL=”“urn:schemas:httpmail:subject”" LIKE ‘%抽出用テストメッセージ%’"
の個別で指定した場合はそれぞれ正しく抽出されますが、ANDで結合すると上手くいきません
ashokkarale
(Ashok Karale)
February 25, 2025, 10:18am
2
@dai_y ,
Try this filter
"@SQL=(""urn:schemas:httpmail:subject"" LIKE '%test message for extraction%') AND ([ReceivedTime] >= '" + DateTime.Now.AddHours(-1).ToString("yyyy-MM-dd HH:mm") + "')"
HarryKan
(Karry kan)
February 25, 2025, 10:36am
3
resultString = String.Join(ControlChars.NewLine,
“01 abc02 cde”.Split(" “c).
Aggregate(”“, Function(acc, s) If(acc <> “” AndAlso Char.IsDigit(s(0)), acc & “|” & s, acc & s)).
Split(”|"c))
Yoichi
(Yoichi)
February 25, 2025, 1:49pm
4
こんにちは
異なる形式(DASLとJET)のフィルター式はAND等で連結することができません。
そのため例えば下記のようにDASL構文に統一する必要があると思います。
"@SQL= urn:schemas:httpmail:datereceived >= '"+ DateTime.Now.AddHours(-1).ToString("yyyy/MM/dd HH:mm")+"' AND urn:schemas:httpmail:subject like '%business analyst%'"
dai_y
(dai_y)
February 26, 2025, 4:54am
5
回答ありがとうございます
試したところ下記のエラーが発生してしまいました
System.Runtime.InteropServices.COMException: 条件を解析できません。 “@SQL=(“urn:schemas:httpmail:subject” LIK…” エラー。 at Microsoft.Office.Interop.Outlook._Items.Find(String Filter)
dai_y
(dai_y)
February 26, 2025, 4:55am
6
すみません、私が詳しくないため
教えていただいた内容をどのように使えばよいのかわかりませんでした。
dai_y
(dai_y)
February 26, 2025, 4:56am
7
試してみたところエラーなどは発生したかったのですが、取得出来たメールが0件になってしまいました
Yoichi
(Yoichi)
February 26, 2025, 5:02am
8
原因の切り分けのために、それぞれの条件を単独で適用(ANDでつながず単独で)したときにどのようになるか試せますでしょうか?
一方が想定外の動作であれば、そちらの式の見直しが必要になります。
dai_y
(dai_y)
February 26, 2025, 8:35am
9
ご返信いただきありがとうございます。
分割して確認したところ
①データ取れず
“@SQL=urn:schemas:httpmail:datereceived >= '” + DateTime.Now.AddHours(-1).ToString(“yyyy/MM/dd HH:mm”) + “'”
②データ取得可能
“@SQL=urn:schemas:httpmail:subject LIKE ‘%抽出用テストメッセージ%’”
となりました。
もし何かわかりましたら幸いです。
Yoichi
(Yoichi)
February 26, 2025, 8:59am
10
こんにちは
DASLの時刻評価がUTCベースになっていると思いますので、Nowの代わりにUTCNowを使ってみてもらえますょうか?
1 Like
dai_y
(dai_y)
February 27, 2025, 12:12am
11
ありがとうございます
“@SQL= urn:schemas:httpmail:datereceived >= '”+ DateTime.UtcNow.AddHours(-1).ToString(“yyyy/MM/dd HH:mm”) +“’ AND urn:schemas:httpmail:subject LIKE ‘%抽出用テストメッセージ%’”
の
記述にしたところ無事動きました
早急なご返答をいただきとても助かりました。
ありがとうございました。
system
(system)
Closed
March 2, 2025, 12:13am
12
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.