【发布时间】:2014-09-18 21:23:10
【问题描述】:
我正在使用 Office 2013,我正在尝试获取我的一个电子邮件文件夹中的后续项目的计数,此值将写入一个单元格。
所以我在添加 Outlook 对象库引用后使用以下代码:
Dim Folder As Outlook.MAPIFolder
Dim objOL As Outlook.Application
Set objOL = New Outlook.Application
MailboxName = "mymailboxhere"
Main_Folder_Name = "Inbox"
Sub_Folder_Name = "Test"
Set Folder = Outlook.Session.Folders(MailBoxName).Folders(Main_Folder_Name).Folders(Sub_Folder_Name)
Dim itms As Outlook.Items
Set itms = Folder.Items
Dim FollowupItms As Outlook.Items
Set FollowupItms = itms.Restrict("[FlagStatus] = 2")
Followup = FollowupItms.Count
Worksheets("Sheet1").Range("A1").Value = Followup
出于某种原因,即使至少有一封电子邮件被标记为跟进,我的跟进计数仍为 0。
为了测试,我尝试了以下方法:
For Each Msg In itms
MsgBox Msg.FlagStatus
Next
其中一封邮件的 Flagstatus 为 2,测试期间在 Msgbox 中显示相同。
在计算未标记的电子邮件或标记为已完成的电子邮件时,该代码可以正常工作。
这对我来说完全没有意义。有什么想法吗?
【问题讨论】:
-
这很奇怪,但我发现了这种不同的处理方式jpsoftwaretech.com/searchbox-week-day-2,可能会有所帮助
-
@mrbungle 我想在您发布的链接中使用该方法,即对于每个 msg if flagstatus = 2 then ......但我有点希望弄清楚为什么我的代码是不工作。