我通过选择“跟进 - 标记完成选项”将邮件移动到其他文件夹。 现在我想编写一个程序来检查我今天完成的许多电子邮件,比较Flag完成日期和今天的日期。如何访问标记完成日期?
但我无法找到如何访问旗完成日期。
能否请你帮忙。
感谢, 阿洛克
我通过选择“跟进 - 标记完成选项”将邮件移动到其他文件夹。 现在我想编写一个程序来检查我今天完成的许多电子邮件,比较Flag完成日期和今天的日期。如何访问标记完成日期?
但我无法找到如何访问旗完成日期。
能否请你帮忙。
感谢, 阿洛克
您可以通过使用expression.FlagStatus
请参阅此链接
主题访问标志:FlagStatus物业
链接:http://msdn.microsoft.com/en-us/library/aa212013%28v=office.11%29.aspx
例如,这会给你的所有选择电子邮件的状态
OUTLOOK 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
对于消息(S)与No flags
它会给你一个0
为Mark Completed
它会给你1
和
为Other flags
它会给你2
因此,您实际上可以使用If
语句来检查.FlagStatus
属性和邮件日期以实现所需。
HTH
该物业是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
这工作。非常感谢你。 – user1344815 2012-04-24 07:38:35
邮件日期是否反映了状态更改的时间? – 2012-04-19 19:29:19
Doug,你的意思是改变标志也会改变日期吗?如果是,则不,标志状态不会改变电子邮件日期。 – 2012-04-19 19:34:02
是的,这就是我的意思。我问,因为OP想知道哪些标志今天改变了,我想。你的答案显示如何做到这一点? – 2012-04-19 19:38:31