メールに「フラグの設定 進捗状況を完了にする」セット及び取得方法

いつも参考にさせていただいております。

以前の投稿に「メールに分類項目をつけたい」

を参考にし、以下のアクティビティを参考にしました。
しかし、件名の記載しています「フラグの設定>進捗状況を完了にする」に☑を付けること。またこの状態を取得する方法がわかりません。
以下のアクティビティを使用できるのでしょうか?
また、セット・取得方法はどのようにすべきでしょうか?

よろしくお願い致します。

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

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のフォルダ中のすべてフラグされたのメールを「進捗状況を完了した」に変更できます。

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メールメッセージを取得」の条件となったメールリストを取得して、その対象メールを繰り返し処理する仕組みとしています。
その繰り返しの中で、フラグオフ(フラグオン➡オフ)に更新したい。
ということが目的です。

まだ、コード呼び出しを理解していません。
勉強します。

とりあえずは、「進捗状況を完了した」の情報を取得することがわかりましたので、
一旦解決といたします。

セットにつきましては、今後検討します。
nguyendinhduc269様 詳細ありがとうございました。

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