Categories: UiPathUiPath(作業別)

【UiPath】受信したメールの添付ファイルを取得する方法(Outlook)



受信したメールの添付ファイルを取得する方法を紹介します。
今回はOutlookを使っている場合で紹介します。
Outlookだとアクティビティがあって便利なので特に制限が無ければ、Outlookを使うことをおすすめします。

処理としてはまずメールを取得します。
Activities>Available>App Integration>Mail>Outlook>Get Outlook Mail Messagesを選択します。
(もし見つからなかった場合はこちらをご参照ください。)
PropertiesのMailFolderに取得したいメールがあるフォルダーを設定します。(振り分け等していない場合は”受信トレイ”となります。/で繋げればサブフォルダも設定できます。)
OptionsのMarkAsReadにチェックをつけると処理後に既読に、OnlyUnreadMessagesにチェックをつけると未読メールだけが対象になります。
またTopで設定した数の分だけメールを取得できます。(デフォルトでは30なので、最近受信した30メールが対象となります。)
そして、OutputのMailMessagesで右クリックしCreate Variableを選択し、任意の変数名を入力します。(型はMailMessageのListとなります)

今回の例ではUiPathというフォルダにあるメールを対象にしています。
Outlookのイメージはこんな感じです。
UiPathというフォルダにtestという件名のtest.xlsxが添付されている未読メールがある状態です。

続いて、For Eachを使用します。(機能の詳細はループ処理まとめをご参照ください)
Valuesには先ほど作ったMailMessageのList型の変数を指定します。
Type ArgumentにはSystem.Net.Mail.MailMessageを指定します。(プルダウンを開き、Browse for typesからSystem.Net.Mail.MailMessageを検索して設定してください。)

最後にActivities>Available>App Integration>Mail>Save Attachmentsを選択しBodyの中に入れます。
PropertiesのInputのFolderPathに添付ファイルを保存したいフォルダを、MailMessageにFor Eachで回っているMailMessageの変数名を入力します(デフォルトではitem)。

これで実行すると指定したフォルダに添付ファイルが保存されています。

今回は指定したメールボックスのフォルダ内にメールが1つしかなかったため、結果的にループしていませんが、複数あればその分取得出来ます(デフォルトの設定は30)。
また、MailMessage型はいろいろな値が取れるので、「item.subject」とすると件名が「item.Body」とすると本文が取得できたりします。

以上、受信したメールの添付ファイルを取得する方法でした。

他の機能一覧はこちら
他の作業一覧はこちら



ttistm4062

Share
Published by
ttistm4062
Tags: For EachGet Outlook Mail MessagesOutlookSave AttachmentsUiPathメール添付ファイル取得

Recent Posts

【UiPath】テキストを1行ずつ取得する方法

テキストファイルなどの内容を1行ずつ取得…

5年 ago

【UiPath】スクショをExcelに並べて貼り付ける方法

UiPathで取得したスクショをすべて同…

5年 ago

【UiPath】よく使うVB.NET関数まとめ③(DataTable編)

よく使うVB.NETの関数をまとめてみま…

5年 ago

【UiPath】正規表現を使うアクティビティまとめ

正規表現を使うアクティビティの使い方と、…

6年 ago

【UiPath】ワークフローの実行方法まとめ

作成したワークフローを実行する方法をまと…

6年 ago

【UiPath】よく使うVB.NET関数まとめ②(日付時刻編)

よく使うVB.NETの関数をまとめてみま…

6年 ago