「フォローアップ - 完了オプションをマーク」を選択して、メールを別のフォルダーに移動します。ここで、フラグの完了日と今日の日付を比較して、今日完了した多くの電子メールをチェックするプログラムを書きたいと思います。
しかし、フラグの完了日にアクセスする方法が見つかりません。
助けてください。
ありがとう、アロク
プロパティは Outlook.MailItem.TaskCompletedDate です。次のようなものを試してください:
Sub GetCompletedToday()
Dim olNameSpace As Outlook.NameSpace
Dim olFolder As Outlook.Folder
Dim olMailItem As Outlook.MailItem
Dim CompletedTodayCount As Long
Set olNameSpace = Application.GetNamespace("MAPI")
Set olFolder = olNameSpace.Folders(1).Folders("tester")
For Each olMailItem In olFolder.Items
If olMailItem.TaskCompletedDate = Date Then
CompletedTodayCount = CompletedTodayCount + 1
End If
Next olMailItem
Debug.Print CompletedTodayCount
End Sub
を使用してフラグにアクセスできます。expression.FlagStatus
このリンクを参照してください
トピック: FlagStatus プロパティ
リンク: http://msdn.microsoft.com/en-us/library/aa212013%28v=office.11%29.aspx
たとえば、これにより、選択したすべての電子メールのステータスが表示されます
見通し VBA コード
Option Explicit
Sub Sample()
Dim Messages As Selection
Dim Msg As MailItem
Dim NamSpace As NameSpace
Set NamSpace = Application.GetNamespace("MAPI")
Set Messages = ActiveExplorer.Selection
If Messages.Count = 0 Then Exit Sub
For Each Msg In Messages
Debug.Print Msg.FlagStatus
Next
End Sub
それを含むメッセージについてNo flags
は、あなたに0
Mark Completed
それはあなたに与え1
、
それはあなたにOther flags
与えるからです2
したがって、実際にIf
ステートメントを使用して.FlagStatus
プロパティとメール日付を確認し、目的を達成することができます。
HTH