OTSUKATO
(mikan)
August 18, 2020, 4:37am
1
いつも参考にさせていただいております。
以前の投稿に「メールに分類項目をつけたい」
Outlookからメールを取得(Get Outlook Mail Messages アクティビティを利用)して、処理したメールに対して、分類項目を付けたいです。何か方法をご存じないでしょうか。
代案として、Outlookメールメッセージ移動(Move Outlook Mail Message)アクティビティで完了フォルダ、失敗フォルダに分けるのが良いかと思っています。
もし何か良い方法ありましたら、ご教授いただけると助かります。
よろしくお願いいたします。
を参考にし、以下のアクティビティを参考にしました。
しかし、件名の記載しています「フラグの設定>進捗状況を完了にする」に☑を付けること。またこの状態を取得する方法がわかりません。
以下のアクティビティを使用できるのでしょうか?
また、セット・取得方法はどのようにすべきでしょうか?
よろしくお願い致します。
Alphabet Workflow Activities
https://go.uipath.com/component/alphabet-workflow-activities-bedbce
1 Like
こんにちは!
DASLを使ってみましたか?
Get outlook mail messagesアクティビティのプロパティ
オプションのフィルタに
"@SQL=" + """" + "http://schemas.microsoft.com/mapi/proptag/0x10900003" + """" + " > '1'"
を入れてみてください!
1 Like
OTSUKATO
(mikan)
August 18, 2020, 6:25am
3
nguyendinhduc269様
ありがとうございます!できました!
“@SQL=” + “”“” + “http://schemas.microsoft.com/mapi/proptag/0x10900003 ” + “”“” + " > ‘1’"
改め、
“@SQL=” + “”“” + “http://schemas.microsoft.com/mapi/proptag/0x10900003 ” + “”“” + " = ‘1’"
1:「進捗状況を完了した」ということみたいなので、=(イコール)としました。
0:はチェックされていない。ということですね。
ちなみにUipathで進捗状況を完了にする(チェックする)には、どうしたらよいでしょうか?
もし、こちらもわかれば、よろしくお願い致します。
そうですね
0:チェックされていない
1:進捗状況を完了した
2:チェックされている
という形ですね。
フラグをセットの方はですね、個人意見としてはVBAを使って
MailItem.FlagStatus = olFlagComplete
ご参考までに
こんいちは!
これはPowerShell で実行できました
まずは、.ps1 ファイルを作成(PowerShell のScriptファイル) 例えば SetFlag.ps1
SetFlag.ps1の内容:
$outlook = new-object -ComObject outlook.application
$name = $outlook.GetNamespace("MAPI")
#Inbox のフォルダ
$inbox = $name.GetDefaultFolder(6)
#InboxのSubfolder( Inbox\RPA)
$targetfolder = $inbox.Folders | where-object { $_.name -eq "RPA" }
Write-Output $targetfolder.Items
#Subfolderのメールを進捗状況を完了にする
foreach ($fitem in $targetfolder.Items) {
Write-Output $fitem.Subject()
$fitem.flagStatus = 1
$fitem.Save()
}
invoke PowerShell アクティビティ又は Run power shell script アクティビティで実行するとRPAのフォルダ中のすべてフラグされたのメールを「進捗状況を完了した」に変更できます。
OTSUKATO
(mikan)
August 24, 2020, 9:21am
6
nguyendinhduc269様
返信ありがとうございます。
VBAを利用してUiPath「コードを呼び出し」で
Public Sub DoSomethingSelection()
Dim Session As Outlook.NameSpace
Dim currentExplorer As Explorer
Dim Selection As Selection
Dim obj As MailItem
Set currentExplorer = Application.ActiveExplorer
Set Selection = currentExplorer.Selection
For Each obj In Selection
With obj
.Categories = ""
.FlagStatus = olFlagComplete
.Save
End With
Next
Set Session = Nothing
Set currentExplorer = Nothing
Set obj = Nothing
Set Selection = Nothing
End Sub
と記載しましたら、コンパイルエラーとなりました。
”インポート”に"Microsoft.Office.Interop.Outlook"追加しましたが、、、
上記の記述ではないでしょうか?
また、最初に質問したフラグをオンになっているか「outlookメールメッセージを取得」の条件となったメールリストを取得して、その対象メールを繰り返し処理する仕組みとしています。
その繰り返しの中で、フラグオフ(フラグオン➡オフ)に更新したい。
ということが目的です。
まだ、コード呼び出しを理解していません。
勉強します。
OTSUKATO
(mikan)
September 2, 2020, 8:18am
7
とりあえずは、「進捗状況を完了した」の情報を取得することがわかりましたので、
一旦解決といたします。
セットにつきましては、今後検討します。
nguyendinhduc269様 詳細ありがとうございました。
system
(system)
Closed
September 5, 2020, 8:18am
8
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.