3

「フォローアップ - 完了オプションをマーク」を選択して、メールを別のフォルダーに移動します。ここで、フラグの完了日と今日の日付を比較して、今日完了した多くの電子メールをチェックするプログラムを書きたいと思います。

しかし、フラグの完了日にアクセスする方法が見つかりません。

助けてください。

ありがとう、アロク

4

2 に答える 2

4

プロパティは 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
于 2012-04-19T23:01:12.820 に答える
0

を使用してフラグにアクセスできます。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

于 2012-04-19T19:05:13.287 に答える