cancel
Showing results for 
Search instead for 
Did you mean: 

MS Outlook Email VBO

YoshioKimura
Level 3

Outlookで受信したメールをきっかけに,ロボットを動かそうとしているのですが,

OutlookのVBOを使おうと思ったら,受信メールの取得すらままならない状態でして
助言を頂きたく,宜しくお願いします.

プロセスとステージのプロパティを以下のようにしているのですが,

出力のデータアイテム/コレクションともに
プロセスが完了しても,何も取得できていません.


<プロセス>
1776.png

<プロパティ>
1777.png


------------------------------
Yoshio Kimura
Akebono Brake
Asia/Tokyo
------------------------------
3 REPLIES 3

Received Earliest と Received Latest は日時型であるため、以下のように MakeDate 関数などを
用いて日時を指定いただくことで対応できるかと思います。

なお、私の Blue Prism 6.5 環境では以下のような指定を日本語ロケールで実施しても期待通り、
メールを取得できませんでしが、英語ロケールで IC へログインし直して実行すると期待通りの
動作となりました…。

この挙動は不具合の可能性があるため、お手数ではございますが、弊社のサポートサイトへ
問い合わせていただけないでしょうか?
サポートサイト

よろしくお願い申し上げます。
1760.png


------------------------------
Hiromi Namaizawa
Senior Solutions Consultant
Blue Prism
Asia/Tokyo
------------------------------

自分のwin10/ ver6.5環境では「英語ロケール」、「日本語ロケール」、「Textで日時指定」、「DateTimeで日時指定」を組み合わせて、
4つのパターンどれも成功に実行しました。

1765.png



英語のロケールで実行すると、「Get Received Item(Basic)」で生成してくれたSQL構文は下記のようになります。
@SQL=urn:schemas:httpmail:datereceived>='20 July 2019 00:00' AND urn:schemas:httpmail:datereceived<='22 July 2019 00:00'

日本語のロケールで実行すると、「Get Received Item(Basic)」で生成してくれたSQL構文は下記のようになります。
@SQL=urn:schemas:httpmail:datereceived>='20 7月 2019 00:00' AND urn:schemas:httpmail:datereceived<='22 7月 2019 00:00'

ーーここ以下Blue Prism のログインする時のロケールとは関係なくーー

一見上記のクエリは同じ時間帯のメールを取得しているようだが、上のクエリを実行すると、日本時間の「2019/07/20 9:00:00 ~ 2019/07/22 9:00:00」のメールを取得してくれます。下のクエリを実行すると、正しく日本時間「2019/07/20 0:00:00 ~ 2019/07/22 0:00:00」のメールを取得してくれます。

(実行結果は全部UTC時間に変換されるため、コレクション内のReceivedOnの値は-9時間になる)



生井沢さんが書いてた現象も再現しました。.netの日時変換の挙動がおかしいかもしれないですね。

日本語ロケールで下記のクエリを生成したあとに、
(@SQL=urn:schemas:httpmail:datereceived>='20 7月 2019 00:00' AND urn:schemas:httpmail:datereceived<='22 7月 2019 00:00')
クエリを実行するとき、うまく変換できずこともあって、出力された件数は0件になっています。


あるいは日本語ロケールで「2019/05/07 0:00:00」と「2019/06/08 0:00:00」二つのDateTimeを作成し、MS Outlook VBOで指定すると、作成されたクエリは下記になります。
( AND urn:schemas:httpmail:datereceived>='07 5月 2019 00:00' AND urn:schemas:httpmail:datereceived<='08 6月 2019 00:00')

しかし実行するとき、勝手に2019/07/05と2019/08/06に解釈され、別の時間帯のメールを取得してしまいます。
(Windows環境と関係あります?)


現時点では、英語ロケールで取得したい時間帯を+9時間で取得したほうが無難でしょう。。。

------------------------------
Chenglung Tsai
Consultant
Avanade
------------------------------

Hiromi Namaizawaさん
Chenglung Tsaiさん
ありがとうございます.

サポートへの問い合わせをさせて頂きました.

それとは別に,お二方から頂きました方法を試してみました.
ですが,解決には至っておりません.
もう少し探ってみます.

利用環境:Windows7,Outlook2010,BluePrism6.5

------------------------------
Yoshio Kimura
none
曙ブレーキ工業株式会社
Asia/Tokyo
------------------------------